2009-08-28 36 views
14

Tôi đang làm việc với đối tượng excel trong C#. Tôi muốn tự động phù hợp với các cột, nhưng như thế này: Tôi muốn chiều rộng của cột lớn hơn 5 so với phương thức AutoFit được đặt..net C# excel column AutoFit

Làm cách nào để có chiều rộng sau khi sử dụng AutoFit()?

Làm cách nào để làm cho các cột 5 lớn hơn chiều rộng này?

Trả lời

4

Giả sử bạn đang ở trên ô A1 & có văn bản dài trong đó, mã sau sẽ làm cho cột Tự động sửa và sau đó tăng chiều rộng bằng 5 ký tự.

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

Nếu bạn muốn sử dụng các đối tượng lựa chọn và có IntelliSense với đầu ràng buộc, bạn cần phải cast đối tượng Selection cho một dãy đầu tiên:

Excel.Range selectedRange = (Excel.Range)myExcelApp.Selection;  
selectedRange.Columns.AutoFit(); 

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

- Mike

1

Cố gắng lặp qua các hàng của bạn để có độ dài văn bản của nó:

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

Nơi ws là Worksheet của bạn:

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

Hãy thử Như thế này,

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();