Я пишу приложение C#, которое вставляет лист Excel в документ Word.
using Excel = Microsoft.Office.Interop.Excel;
using Word = Microsoft.Office.Interop.Word;
Excel.Worksheet ws = wb.Worksheets[1];
// select all then copy to clipboard
ws.get_Range("a1").EntireRow.EntireColumn.Copy();
var wordApp = new Word.Application();
wordApp.Visible = true;
wordApp.Documents.Add();
wordApp.Selection.PasteSpecial(Link: true);
Приведенный выше код работает нормально, но Word по умолчанию вставляет объекты как HTML и портит макет документа.
Поэтому я попробовал вставить вручную (ctrl-alt-v) и выбрал «Объект рабочего листа Microsoft Office Excel 2003» (ожидая, что это также можно сделать с помощью С#), и на этот раз весь рабочий лист (возможно, 65535 * 65535) вставляется и значимые ячейки сведены к минимуму.
Рабочий лист содержит диаграммы и растровые изображения, поэтому трудно вычислить координату ячейки сразу под концом диаграмм или растровых изображений.
Есть ли ярлык для выбора только непустых ячеек в Excel?