gpt4 book ai didi

c# - 如何使用 C# 将 SQL 表传递并格式化为 excel

转载 作者:太空宇宙 更新时间:2023-11-03 12:00:31 25 4
gpt4 key购买 nike

目前我有一个 6 行 14 列的表格。我正在尝试将该表传递给我的 excel 文档,这样做没有问题。我的问题是我无法按照我想要的方式格式化它。理想情况下,我想再次拥​​有 3 行、空格和 3 行,但我不能那样做。这是我目前用来格式化 Sql 表的函数。基本上它在 excel 中连续写入所有行。我不想这样做,而是希望它在第 3 行和第 4 行之间有一个黑色行。

如果有人能提供帮助,我将不胜感激。

private int Export_putDataGeneric(Excel.Worksheet sh, DataTable ds, String D_ReferenceDate, int starting_row = 5, int[] column_mapping = null, bool isNumber = true)
{
int curr_row = 0;

if (column_mapping == null)
{
column_mapping = new int[ds.Columns.Count];
int start_char = 2;
for (int c = 0; c < ds.Columns.Count; c++)
{
column_mapping[c] = start_char;
start_char++;
}
}

var data = new Object[ds.Rows.Count, column_mapping[ds.Columns.Count - 1] - column_mapping[0] + 1];

foreach (DataRow row in ds.Rows)
{
for (int c = 0; c < ds.Columns.Count; c++)
{
data[curr_row, column_mapping[c] - column_mapping[0]] = row[c];
}
curr_row++;
}

int end_row = starting_row + ds.Rows.Count - 1;

Excel.Range beginWrite = sh.Cells[starting_row, column_mapping[0]] as Excel.Range;
Excel.Range endWrite = sh.Cells[end_row, column_mapping[ds.Columns.Count - 1]] as Excel.Range;
Excel.Range sheetData = sh.Range[beginWrite, endWrite];

sheetData.Value2 = data;

if (isNumber) sheetData.NumberFormat = "#,##0.00";

Marshal.ReleaseComObject(beginWrite);
Marshal.ReleaseComObject(endWrite);
Marshal.ReleaseComObject(sheetData);

beginWrite = null;
endWrite = null;
sheetData = null;

return end_row;
}

最佳答案

您可以尝试使用 Range.Offset。

查看 Microsoft Documentation

This question在 SO 上也可能有帮助。

关于c# - 如何使用 C# 将 SQL 表传递并格式化为 excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57252585/

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