我正在编写一个将 Excel 工作表粘贴到 Word 文档中的 C# 应用程序。
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 Worksheet object”(期望这也可以通过C#完成),这次粘贴整个工作表(可能是65535 * 65535)并且重要单元格被最小化。
工作表包含图表和位图,因此很难计算图表/位图末尾下方的单元格坐标。
是否有任何快捷方式可以仅选择 Excel 中的非空单元格?