2009-08-28 15 views
14

私はC#のExcelオブジェクトで作業しています。私は列を自動フィットしたいが、このように:列の幅をAutoFitメソッドが設定した幅よりも5倍大きくしたい。.net c#excel column AutoFit

AutoFit()を使用した後にどのように幅を取​​得できますか?

この列の幅をこの幅より大きくするにはどうすればよいですか?

答えて

4

セルA1にあると仮定すると、&に長いテキストが含まれていると仮定すると、次のコードでは列の自動調整が行われ、幅が5文字増加します。

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

あなたはSelectionオブジェクトを使用したいと事前バインディングでのIntelliSenseを持っている場合は、あなたが最初の範囲にSelectionオブジェクトをキャストする必要があります。

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

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

- マイク

1

をしてみてくださいそれのテキストの長さを得るためにあなたの行をループ:

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") 
0

は、このよう

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(); 
をお試しください