.net c#excel列AutoFit

我正在使用c#中的excel对象。 我想自动适合列,但是像这样:我希望列的宽度比AutoFit方法设置的大5。

如何在使用AutoFit()后获得宽度?

我怎样才能使列5比这个宽度更大?

如果您希望使用Selection对象并使用IntelliSense进行早期绑定,则需要先将Selection对象转换为Range:

Excel.Range selectedRange = (Excel.Range)myExcelApp.Selection; selectedRange.Columns.AutoFit(); foreach (Excel.Range column in selectedRange.Columns) { column.ColumnWidth = (double)column.ColumnWidth + 5; } 

迈克

假设你在单元格A1中,并有长文本,下面的代码将使列自动调整,然后增加5个字符的宽度。

 Selection.Columns.Autofit Selection.Columns(1).ColumnWidth = Selection.Columns(1).ColumnWidth + 5 

尝试循环访问您的行以获取文本的长度:

 var row = 1; ws.Column(1).AutoFit(ws.Cells[row, 1].Text.Length + 5); 

ws是你的工作表:

 var pck = new ExcelPackage(); var ws = pck.Workbook.Worksheets.Add("Plan1") 

尝试像这样,

 ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Sheet1"); //Load the datatable into the sheet, starting from cell A1. Print the column names on row 1 ws.Cells["A1"].LoadFromDataTable(data_table, true); //Set full Sheet Auto Fit ws.Cells[1, 1, data_table.Rows.Count, data_table.Columns.Count].AutoFitColumns();