Пиша 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“ (очаквах, че това може да се направи и от C#) и този път целият работен лист (65535*65535 може би) е поставен и значимите клетки са сведени до минимум.
Работният лист съдържа диаграми и растерни изображения, така че е трудно да се изчисли координатата на клетката точно под края на диаграмите/растерните изображения.
Има ли някакъв пряк път за избиране само на непразните клетки в Excel?