使用 C# 编程将 SQL Server 或其他数据库查询导出到 Excel 或 Word






1.70/5 (4投票s)
2007年8月9日
1分钟阅读

30118

481
使用 C# 编程将 SQL Server 或其他数据库查询导出到 Excel 或 Word
引言
你好。我需要一个过程,将从 SQL Server 报告的**大量数据**导出到 Excel 文档。通过我的方法可以做到,这种方法速度非常快。
背景
这段代码适用于数据库查询(大量数据)。我假设数据是基于文本的,不包含任何图像和二进制数据。如果不是,则必须对这段代码进行一些修改。
使用代码
我的想法是基于 Office 2003 的功能,支持 **HTML** 数据。您可以创建一个 **HTML** 数据,并使用任何 Office 应用程序打开它。要生成 Excel 文档,可以使用 **TABLE** 标签。每个表格单元格也是 Excel 单元格。
关于如何使用文章或代码的简要说明。类名、方法和属性,任何技巧或窍门。
HTML 生成的基础代码如下。
while (dr.Read()) { sbrHTML.Append("<TR>"); for (int i = 0; i < dr.FieldCount; i++) { sbrHTML.Append("<TD>" + good_value(dr.GetValue(i).ToString()) + "</TD>"); } sbrHTML.Append("</TR>"); }
生成后,将文档保存为 .xls 格式。
Excel 文档制作完成(很简单吧?)。
现在在您的应用程序中使用以下代码...
clsExcel clsexcel = new clsExcel("sql text", "report header"); clsexcel.save();
请注意,如果您的语言是从右到左的,您必须在使用 HTML 之前使用此代码
اگر متن فارسي داريد بايد از اين كد استفاده نماييد (如果您有波斯语文本,您需要使用此代码)
sbrHTML.Append("<meta http-equiv=\"Content-Type\" content=\"text/html;charset=UTF-8\"> <style>.text { mso-number-format:\\@; } </style><TABLE class=\"text\" Border=1 ID=\"Table1\">");
如果您无法运行此代码,请发邮件给我。
谢谢。