65.9K
CodeProject 正在变化。 阅读更多。
Home

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

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.70/5 (4投票s)

2007年8月9日

1分钟阅读

viewsIcon

30118

downloadIcon

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\">");
 

如果您无法运行此代码,请发邮件给我。

谢谢。

© . All rights reserved.