gpt4 book ai didi

c# - 将大型 SQL 查询移动到 Excel

转载 作者:行者123 更新时间:2023-11-30 22:22:52 26 4
gpt4 key购买 nike

我当前项目的一部分涉及从包含 120,000 多条记录的大型 SQL 表填充 Excel 工作表。我目前正在使用带有 while 循环的 SqlDataReader 直接填充新的 Excel 工作表,但显然这需要不切实际的时间。使用 StringBuilder 构建本地 .CSV 文件然后在 Excel 中打开它似乎是一个更快的选择。是每千行左右将数据转储到文件中,还是一次全部写入?或者是否有更有效的方法来导入我未考虑的这些数据?

数据集因用户输入而异,因此我不能简单地附加到现有文件。

当前代码:

SqlConnection cnnct = new SqlConnection("Data Source=Source;Initial Catalog=Catalog;Integrated Security=True;");
cnnct.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = cnnct;
string cmdText = "SELECT * FROM TABLE";
cmd.CommandText = cmdText;

SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
columnChar = 'A';
rowCount++;

cellName = columnChar.ToString() + rowCount.ToString();
ws.get_Range(cellName, cellName).Value2 = dr["EXAMPLE_FIELD"].ToString();
columnChar++;
//The above three lines are identical for each field (there are 26)
}

最佳答案

好吧,我会不惜一切代价避免使用 Excel 互操作。您只编写 .CSV 文件的想法有很多优点。与往常一样,“最佳”性能取决于环境,但单元测试总是有帮助的。

System.IO 非常理想。我只会从 SqlDataReader 中读取一行并写入 CSV 行。它变得非常简单的代码,我敢打赌它相当“快”。

祝你好运。

关于c# - 将大型 SQL 查询移动到 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13587090/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com