在 C# 中将 OracleDataReader 导出到 Excel
Posted
技术标签:
【中文标题】在 C# 中将 OracleDataReader 导出到 Excel【英文标题】:Export OracleDataReader to Excel in C# 【发布时间】:2010-12-17 12:42:09 【问题描述】:我有这样的代码,
string ConnectionString = ConfigurationManager.ConnectionStrings["ora"].ConnectionString; OracleConnection conn = new OracleConnection(ConnectionString); string sql = @"SELECT DISTINCT(B.MUS_K_ISIM), A.HESAP_NO FROM S_TAKIP_MUSTERI A, S_TEKLIF B WHERE A.HESAP_NO = B.HESAP_NO ORDER BY B.MUS_K_ISIM"; conn.Open(); OracleCommand cmd = new OracleCommand(sql, conn); cmd.CommandType = System.Data.CommandType.Text; OracleDataReader dr = cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
如何将来自 DataReader 的一些信息导出到 Excel?我想要什么,当我单击按钮时,从 DataReader 导出 Excel。
【问题讨论】:
您有两个基本选项:使用 Excel 自动化生成文件,或使用库,例如***.com/questions/151005/…。如果您在 Web 服务器上运行它,它必须是一个库,您无法自动化 Excel。不过,我不知道有任何接受 DataSet 作为输入的,但这是一个很常见的问题。 但是DataReader没有例子..! 不,抱歉,我没有相应的代码。基本想法是 1. 制作新工作簿,新工作表。 2. GetSchemaTable() 并使用它来生成列标题和设置数据类型。 3. 遍历每一行,将每一列的值添加到工作表上的一个新单元格中。 4. 保存、关闭、清理。我希望有足够的文档来解决所有问题。 【参考方案1】:您可以使用 Microsoft.Office.Interop.Excel 创建一个 excel 实例,然后遍历并使用数据填充电子表格中的单元格。
【讨论】:
我已经有了一个对数据集执行此操作的函数。所以我可以创建一个使用数据读取器的修改函数。这可能需要一点时间,因为我在工作,而且还会忙于其他事情。以上是关于在 C# 中将 OracleDataReader 导出到 Excel的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 OracleDataReader 检索给定记录的所有字段?