使用excellibrary设置行高

时间:2013-05-12 13:15:57

标签: c# size cell excellibrary

我正在使用excellibrary,我想设置行的高度或列的宽度。听起来很简单,但我找不到解决方案。我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

我猜你指的是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中进行快速测试后)。

如果您遵循源代码,那么显然RowHeight 属性公共字段会被WorksheetEncoder line 55写出,然后通过Stream ROW方法将BinaryWriter方法写入工作簿,但如果我在Excel中打开,则无法正常工作。 (我在2007年之前没有Excel版本来测试)。

不幸的是,没有其他属性可用于设置行高。这是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(" "); } } 用来生成工作簿的那个。

另请注意,如果您的目标是Excel 2010,则需要在上面的示例中填充一大块单元格,以确保最终文件足够大,以便Excel 2010满意。 e.g:

{{1}}