指引网

当前位置: 主页 > 编程开发 > C >

使用 Visual C# .NET 向 Excel 工作簿传输数据

来源:网络 作者:佚名 点击: 时间:2017-07-19 22:58
[摘要] 
概述
最常用于向 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));
------分隔线----------------------------