- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如何使用Visual C# 2005或Visual C# .NET向Excel工作簿传输数据
本文分步介绍了多种从 Microsoft Visual C# 2005 或 Microsoft Visual C# .NET 程序向 Microsoft Excel 2002 传输数据的方法。本文还提供了每种方法的优点和缺点,以便您可以选择最适合您的情况的解决方案。
概述
最常用于向 Excel 工作簿传输数据的方法是“自动化”。利用“自动化”功能,您可以调用特定于 Excel 任务的方法和属性。“自动化”功能为您提供了指定数据在工作簿中所处的位置、将工作簿格式化以及在运行时进行各种设置的最大的灵活性。利用“自动化”功能,您可以使用多种方法来传输数据:
逐个单元格地传输数据。
将数组中的数据传输到单元格区域。
使用“CopyFromRecordset”方法向单元格区域传输 ADO 记录集中的数据。
在 Excel 工作表上创建一个“QueryTable”对象,该对象包含对 ODBC 或 OLEDB 数据源进行查询的结果。
将数据传输到剪贴板,然后将剪贴板内容粘贴到 Excel 工作表中。
还可以使用多种未必需要利用“自动化”功能来向 Excel 传输数据的方法。如果您正在运行服务器端程序,这会是一种将批量数据处理从客户端移走的好方法。要在不使用“自动化”功能的情况下传输数据,您可以使用下列方法:
将数据传输到制表符分隔的或逗号分隔的文本文件,然后 Excel 可以将该文本文件分析为工作表上的单元格。
使用 ADO.NET 将数据传输到工作表。
将 XML 数据传输到 Excel(仅限于 2002 和 2003 版)以提供可以被格式化和排列为行和列的数据。
本文讨论了其中的每一种方法并提供了每一种方法的代码示例。本文的创建完整的示例 Visual C# 2005 或 Visual C# .NET 项目一节(在本文稍后部分)演示了如何创建执行每一种方法的 Visual C# .NET 程序。
方法
使用“自动化”功能逐单元格传输数据
利用“自动化”功能,您可以逐单元格地向工作表传输数据:
// 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));
m_objRange = m_objSheet.get_Range(A1, m_objOpt);
m_objRange.Value = Last Name;
m_objRange = m_objSheet.get_Range(B1, m_objOpt);
m_objRange.Value = First Name;
m_objRange = m_objSheet.get_Range(A2, m_objOpt);
m_objRange.Value = Doe;
m_objRange = m_objSheet.get_Range(B2, m_objOpt);
m_objRange.Value = John;
// Apply bold to cells A1:B1.
m_objRange = m_objSheet.get_Range(A1, B1);
m_objFont = m_objRange.Font;
m_objFont.Bold=true;
// Save the Workbook and quit Excel.
m_objBook.SaveAs(m_strSampleFolder + Book1.xls, m_objOpt, m_objOpt,
m_objOpt, m_objOpt, m_objOpt, Excel.XlSaveAsAccessMode.xlNoChange,
m_objOpt, m_objOpt, m_objOpt, m_objOpt);
m_objBook.Close(false, m_objOpt, m_objOpt);
m_objExcel.Quit();
如果您具有少量的数据,则逐单
文档评论(0)