1
我正在使用excellibrary,我想設置一個行的高度或列寬。聽起來很簡單,但我找不到解決方案。我怎樣才能做到這一點?使用excellibrary設置行高
我正在使用excellibrary,我想設置一個行的高度或列寬。聽起來很簡單,但我找不到解決方案。我怎樣才能做到這一點?使用excellibrary設置行高
我想你是指excellibrary?我沒有它的那一刻我面前裝起來,但如果沒有記錯,嘗試:
Workbook workbook = new Workbook();
Worksheet worksheet = new Worksheet("First Sheet");
worksheet.Cells[0, 0] = new Cell("Cell 0,0");
worksheet.Cells[1, 0] = new Cell("Cell 1,0");
ushort currentHeight = worksheet.Cells.GetRowHeight(1);
worksheet.Cells.GetRow(1).Height = (ushort)(currentHeight + 20);
workbook.Worksheets.Add(worksheet);
workbook.Save(filePath); // will need to set filepath
編輯:這個屬性雖然理論上這是正確的,實際上,我不知道作品(在Excel 2010和Excel 2007中快速測試之後)。
如果按照源代碼,那麼顯然Row
類Height
財產
公共領域也由WorksheetEncoder
line 55得到寫出來,並依次通過ROW
類Encode
方法進入Stream
寫出工作簿,但如果我再在Excel中打開,它不起作用。 (我在2007年以前沒有Excel版本進行測試)。
不幸的是,沒有其他屬性可用於設置行高。這是BinaryWriter
用於生成工作簿的那個。
另請注意,如果您的目標是Excel 2010,則需要填寫上述示例中的一大塊單元格,以確保最終文件足夠大,以便Excel 2010能夠快樂。例如:
Workbook workbook = new Workbook();
Worksheet worksheet = new Worksheet("First Sheet");
// Excel 2010 hack - issue 102
for (int r = 0; r < 150; r++) {
for (int c = 0; c < 10; c++) {
worksheet.Cells[r, c] = new Cell(" ");
}
}
感謝您的回答,它對我也不起作用。你會推薦什麼解決方法?如果可能的話,可能會設置沒有excellibrary和其他庫? – 2013-05-12 18:54:38
我認爲如果行高很重要,則需要完全切換到另一種方法,例如Visual Studio [辦公解決方案](http://msdn.microsoft.com/zh-cn/library/jj620922.aspx)。 – 2013-05-12 20:04:56