2

我正在使用 C#.net 和 NetOffice.ExcelApi 创建一个 excel 工作表。我想使用以下代码自动调整 A 到 G 列:

Excel.Workbook xlWorkBook = xlApp.Workbooks.Add();
Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets[1];
xlWorkSheet.Columns["A:G"].AutoFit();

我也试过这段代码:

Excel.Workbook xlWorkBook = xlApp.Workbooks.Add();
Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets[1];
xlWorkSheet.Columns.AutoFit();

结果仍然是未安装列。

有人可以帮帮我吗?

谢谢!

4

2 回答 2

0

我猜您可能还需要添加行索引。

我正在使用Excel = Microsoft.Office.Interop.Excel;

这工作正常:

Excel.Range myRange= xlWorkSheet.get_Range("A1:G10");
myRange.AutoFit();

也许 NetOffice.ExcelApi 中也有类似范围的东西。:|

顺便说一句,您不使用 Microsoft.Office.Interop.Excel 有什么原因吗?正如标签所说,您正在编写一个 Windows 窗体应用程序,所以应该没有任何问题。我认为 Microsoft.Office.Interop.Excel 有更多文档。

更新:我在文档中找到了一些可以帮助你的东西: http://netoffice.codeplex.com/wikipage?title= Excel_Example02

   // setup rows and columns 
   workSheet.Columns[1].AutoFit(); 
   workSheet.Columns[2].ColumnWidth = 25; 
   workSheet.Columns[3].ColumnWidth = 25; 
   workSheet.Columns[4].ColumnWidth = 25; 
   workSheet.Columns[5].ColumnWidth = 25; 
   workSheet.Rows[9].RowHeight = 25; 

您可能想要执行以下操作:

xlWorkSheet.Range("A:G").AutoFit();

或者如果它真的需要行索引:

xlWorkSheet.Range("A1:G20").AutoFit();

或者您可以一一设置所有列:

xlWorkSheet.Columns[1].AutoFit(); 
xlWorkSheet.Columns[2].AutoFit(); 

我希望对你有用:)。但奇怪的是你的xlWorkSheet.Columns.AutoFit();不起作用。您也许应该检查问题是否不在您的工作表中。

于 2013-05-28T09:16:57.073 回答
0

我有同样的问题。

我意识到我在代码myRange.Columns.AutoFit(); 写在excel上的文本之前使用了代码。

请看一下这种情况。

于 2015-08-17T08:01:28.473 回答