web-dev-qa-db-ja.com

プログラムでExcelセルを幅と高さに自動調整する

datatableを.csvに変換すると、Excelシートは次のように生成されます。 enter image description here

そして以下のように試しました:

sw.Write(string.Format("=\"{0}\"", drow[i].ToString()));

それから私のExcelシートは次のようでした:

enter image description here

セルには= ""文字があることに注意してください。

プログラムで各セルの幅と高さを自動調整しようとしています。どうやって?

9
Sankar M

範囲を取得してからAutofitを実行してみてください

Range.Rows.AutoFit();
Range.Columns.AutoFit();
12
Jayant Varshney

この質問は、問題の一部を解決するのに役立ちました。データをセカンダリの補助シートにコピーしてからデータグリッドに送信する必要がありましたが、コピーすると、データグリッドに#########のシーケンスが表示されます。フィールド自体よりも大きい。そこで、**sheets.UsedRange.Columns.AutoFit();**を使用して、新しい列が作成されるたびに問題を解決しました。ここで、sheetsは、**Microsoft.Office.Interop.Excel.Worksheet**を受け取った私の変数です。

どうもありがとうございました。

2
Khamul

私はこれを別のページで見つけました:

C#

http://www.spreadsheetgear.com/support/help/spreadsheetgear.net.3.0/SpreadsheetGear~SpreadsheetGear.IRange~AutoFit.html

//列BとCの幅を自動的に設定します。worksheet.Cells["B:C"]。Columns.AutoFit();

//行7から9で行の高さを自動に設定しますworksheet.Cells ["7:9"]。Rows.AutoFit();

1
user2125311