概述
最常用于向
Excel 工作簿传输数据的技术是自动化。利用“自动化”,您可以调用特定于 Excel 任务的方法和属性。“自动化”给您提供了指定数据在工作簿中所处的位置、将工作簿
格式化以及在运行时进行各种设置的最大的灵活性。
利用“自动化”,您可以使用多种技术来传输数据:
•
逐个单元格地传输数据
•
将数组中的数据传输到由单元格组成的区域。
•
使用 CopyFromRecordset 方法向单元格区域传输 ADO 记录集中的数据。
•
在 Excel 工作表上创建一个 QueryTable 对象,该对象包含对 ODBC 或 OLEDB 数据源进行查询的结果。
•
将数据传输到剪贴板,然后将剪贴板内容粘贴到 Excel 工作表中。还可以使用多种未必需要利用“自动化”来向 Excel 传输数据的方法。如果您正在运行服务器端程序,这可以是一种将批量数据处理从客户端移走的好方法。
要在不使用“自动化”的情况下传输数据,您可以使用下列方法:
•
将数据传输到制表符分隔的或逗号分隔的文本文件,然后 Excel 可以将该文本文件分析为工作表上的单元格。
•
使用 ADO.NET 将数据传输到工作表。
•
将 XML 数据传输到 Excel(仅限于 2002 和 2003 版)以提供可以被格式化和排列为行和列的数据。
方法
使用“自动化”逐个单元格地传输数据
利用“自动化”,您可以逐个单元格地向工作表传输数据: // Start a new workbook in Excel.
m_objExcel = new Excel.Application();
m_objBooks = (Excel.Workbooks)m_objExcel.Workbooks;
m_objBook = (Excel._Workbook)(m_objBooks.Add(m_objOpt));
// Add data to cells in the first worksheet in the new workbook.
m_objSheets = (Excel.Sheets)m_objBook.Worksheets;
m_objSheet = (Excel._Worksheet)(m_objSheets.get_Item(1));