gpt4 book ai didi

c# - C# 生成的 Excel 工作表中的自动调整列宽

转载 作者:太空宇宙 更新时间:2023-11-03 15:35:54 27 4
gpt4 key购买 nike

我正在尝试通过使用 C# 从 SQL Server 数据库导出数据来自动调整 Excel 工作表中的列和行。我做了一些研究,我发现的解决方案似乎没有任何影响。

//This code produces the correct Excel File with the expected content
Excel.Application ExcelApp = new Excel.Application();
ExcelApp.Application.Workbooks.Add(Type.Missing);
for (int i = 1; i < myDataTable.Rows.Count + 2; i++)
{
for (int j = 1; j < myDataTable.Columns.Count + 1; j++)
{
if (i == 1)
{
ExcelApp.Cells[i, j] = myColumnCollection[j - 1].ToString();
}
else
ExcelApp.Cells[i, j] = myDataTable.Rows[i - 2][j - 1].ToString();
}
}
ExcelApp.ActiveWorkbook.SaveCopyAs(Application.StartupPath + "\\test.xlsx");
ExcelApp.ActiveWorkbook.Saved = true;

//This code is where I tried to do the Autofit work
Excel.Worksheet ws = ExcelApp.ActiveWorkbook.Worksheets[1];
Excel.Range range = ws.UsedRange;
//ws.Columns.ClearFormats();
//ws.Rows.ClearFormats();
//range.EntireColumn.AutoFit();
//range.EntireRow.AutoFit();
ws.Columns.AutoFit();
ws.Rows.AutoFit();

ExcelApp.Quit();

我在接近尾声时尝试了几种方法。我想我了解 Range.Columns.Autofit()Range.EntireColumn.AutoFit() 之间的区别,并尝试使用 Worksheet.Columns.ClearFormat( ) 在获取 UsedRange 之前和之后。据我所知,这些都没有影响我的文件。

要使列和行自动适应其内容,我需要做什么?

最佳答案

感谢 Derek 指出显而易见的问题。完成修改后,我需要保存工作簿。我只需要将我的 Autofit() 东西移到保存之上。

 Excel.Worksheet ws = ExcelApp.ActiveWorkbook.Worksheets[1];
ws.Columns.AutoFit();
ws.Rows.AutoFit();
ExcelApp.ActiveWorkbook.SaveCopyAs(Application.StartupPath + "\\HaulerInfo.xlsx");
ExcelApp.ActiveWorkbook.Saved = true;

关于c# - C# 生成的 Excel 工作表中的自动调整列宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31882066/

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