使用数据库中的信息创建 Excel 文件

用户1899289003

我有一个查询返回如下内容:

1    2    3    4    5    6    7
A.   B.   C.   D.   E.   F.   G.
Etc...
Etc...
N rows

我将查询存储在数据集上。然后我使用这样的东西创建 Excel 文件:

Sql=“select * from table”
Dim cmd As New SqlDataAdapter(Sql, con)
Dim ds As New DataSet
cmd.Fill(ds)

For i=0 To Tables(0).Rows.Count - 1
    For x=0 To ds.Tables(0).Columns.Count - 1
        ExcelFile.Cells(i+1;x+1)=ds.Tables(0).Rows(i).Item(j)
    Next
Next

代码工作正常,除了我还需要写列标题名称(1,2,3,4 等)我的第一个问题是如何添加标题?

主要问题...查询有时会返回超过 80k 个结果,因此按照 for 循环逻辑,我的代码将为每一列运行 80k 次(在本例中为 7 次),这将给我一个结果慢。

还有另一种快速填充和Excel文件的方法吗?或者这是最好的方法?

迪米特里

您可以访问ColumnName每个属性Column在你的DataTable例如,要在尽可能少地修改代码的情况下添加标头,您可以这样做:

'Write ColumnName to the corresponding cell in row 1
For x=0 To ds.Tables(0).Columns.Count - 1
    ExcelFile.Cells(1, x+1) = ds.Tables(0).Columns(x).ColumnName
Next

'Modded to start at the second row and fix index variable
For i=1 To Tables(0).Rows.Count - 1
    For x=0 To ds.Tables(0).Columns.Count - 1
        ExcelFile.Cells(i+1, x+1) = ds.Tables(0).Rows(i).Item(x)
    Next
Next

不过,您对此的性能感到担忧是正确的。Excel 自动化的第一条规则是尽可能少地实际与 Excel 交互,因为每次交互都非常昂贵。

假设您使用的是常规 Office Interop,您应该构建一个二维数组来表示您的查询中的值。然后在工作表中找到等效的大小范围,并将该范围的值设置为数组。通过这种方式,您可以将成千上万的交互缩减为一个。

Dim rowCount = ds.Tables(0).Rows.Count
Dim colCount = ds.Tables(0).Columns.Count

Dim ws = ExcelFile

Dim valueSet(,) As Object
ReDim valueSet(rowCount - 1, colCount - 1)

For row = 0 To rowCount - 1
    For col = 0 To colCount - 1
        valueSet(row, col) = ds.Tables(0).Rows(row).Item(col)
    Next
Next

'Set the entire set of values in a single operation
ws.Range(ws.Cells(1, 0), ws.Cells(rowCount, colCount).Value = valueSet

此外,如果您实际上正在使用 Excel Interop 或它的包装器,例如NetOffice,您应该查看EPPlus并查看它是否满足您的需求。它是一个可与 OfficeOpenXML 配合使用的帮助程序库,甚至不需要安装 Excel。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在PHP中创建数据库查询结果的Excel文件

来自分类Dev

在PHP中创建数据库查询结果的Excel文件

来自分类Dev

如何使用C#将Excel文件中的数据插入Microsoft LocalDB数据库

来自分类Dev

上载和读取Excel文件,并使用Groovy Grails将数据插入数据库中

来自分类Dev

从数据库导出Excel文件

来自分类Dev

从Excel文件更新数据库表

来自分类Dev

如何在Mule 3.4 ESB中使用Datamapper在数据库中映射Excel文件

来自分类Dev

使用c#将excel文件保存在数据库中

来自分类Dev

如何从数据库中使用Java中的Apache POI将数据获取到excel文件中

来自分类Dev

如何将多个Excel文件中的数据合并到单个Excel文件或Access数据库中?

来自分类Dev

无法从excel文件中以正确格式读取日期时间值并使用python将其保存在数据库中

来自分类Dev

在bat文件中创建数据库

来自分类Dev

SSIS-创建xlsx文件的脚本任务(将数据从sql数据库导出到新的Excel文件)

来自分类Dev

如何在使用laravel导出时动态添加存储在数据库中的月份作为excel文件的标题?

来自分类Dev

Python:使用excel文件中的数据创建字典

来自分类Dev

从Excel文件中提取数据并存储在SQL Server数据库中

来自分类Dev

无法使用 c# 将数据从 excel 文件上传到我的数据库 (mysql)

来自分类Dev

如何从SQL数据库检索Excel文件

来自分类Dev

如何从PHP将Excel文件导入mysql数据库

来自分类Dev

MVC 4 将 Excel 文件上传到数据库

来自分类Dev

用PHP从数据库下载Excel文件

来自分类Dev

使用XML文件中存储的数据库信息填充FDQuery / Dataset

来自分类Dev

使用节点js上传文件并将表单信息存储在数据库中(mysql)

来自分类Dev

使用节点js上传文件并将表单信息存储在数据库中(mysql)

来自分类Dev

在数据库中存储多个Excel文件的有效方法?

来自分类Dev

如何将一张excel文件导入到access数据库中?

来自分类Dev

如何使用PHP将大型Excel文件导入MySql数据库

来自分类Dev

使用MVC通过浏览器从数据库导出Excel文件

来自分类Dev

如何使用php在mysql数据库中导入Excel文件?

Related 相关文章

  1. 1

    在PHP中创建数据库查询结果的Excel文件

  2. 2

    在PHP中创建数据库查询结果的Excel文件

  3. 3

    如何使用C#将Excel文件中的数据插入Microsoft LocalDB数据库

  4. 4

    上载和读取Excel文件,并使用Groovy Grails将数据插入数据库中

  5. 5

    从数据库导出Excel文件

  6. 6

    从Excel文件更新数据库表

  7. 7

    如何在Mule 3.4 ESB中使用Datamapper在数据库中映射Excel文件

  8. 8

    使用c#将excel文件保存在数据库中

  9. 9

    如何从数据库中使用Java中的Apache POI将数据获取到excel文件中

  10. 10

    如何将多个Excel文件中的数据合并到单个Excel文件或Access数据库中?

  11. 11

    无法从excel文件中以正确格式读取日期时间值并使用python将其保存在数据库中

  12. 12

    在bat文件中创建数据库

  13. 13

    SSIS-创建xlsx文件的脚本任务(将数据从sql数据库导出到新的Excel文件)

  14. 14

    如何在使用laravel导出时动态添加存储在数据库中的月份作为excel文件的标题?

  15. 15

    Python:使用excel文件中的数据创建字典

  16. 16

    从Excel文件中提取数据并存储在SQL Server数据库中

  17. 17

    无法使用 c# 将数据从 excel 文件上传到我的数据库 (mysql)

  18. 18

    如何从SQL数据库检索Excel文件

  19. 19

    如何从PHP将Excel文件导入mysql数据库

  20. 20

    MVC 4 将 Excel 文件上传到数据库

  21. 21

    用PHP从数据库下载Excel文件

  22. 22

    使用XML文件中存储的数据库信息填充FDQuery / Dataset

  23. 23

    使用节点js上传文件并将表单信息存储在数据库中(mysql)

  24. 24

    使用节点js上传文件并将表单信息存储在数据库中(mysql)

  25. 25

    在数据库中存储多个Excel文件的有效方法?

  26. 26

    如何将一张excel文件导入到access数据库中?

  27. 27

    如何使用PHP将大型Excel文件导入MySql数据库

  28. 28

    使用MVC通过浏览器从数据库导出Excel文件

  29. 29

    如何使用php在mysql数据库中导入Excel文件?

热门标签

归档