繁体   English   中英

如何从Excel工作表中复制非空单元格?

[英]How to copy non-empty cells from Excel worksheet?

我正在编写一个将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工作表对象”(希望这也可以由C#完成),这次粘贴了整个工作表(可能是65535 * 65535),并且粘贴了重要的单元格被最小化。

该工作表包含图表和位图,因此很难计算图表/位图末端下方的单元格坐标。

是否有任何快捷方式可以仅选择Excel中的非空单元格?

是否有任何快捷方式可以仅选择Excel中的非空单元格? -是的 尝试做: wholeRange = sheet.Cells.SpecialCells(XlCellType.xlCellTypeConstants, Type.Missing); 要测试此功能,您可以按F5-> Special ..并尝试其他选项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM