6

我正在开发一个将数据写入 Excel 文件的项目。

现在一切都完成了,但是我需要一些比其他单元格更大的单元格(标题等)。

我已经阅读了有关互联网的相关信息,但我一直遇到同样的问题:当我执行我的代码时(请参阅下面的我尝试过的内容),工作表中的所有内容都会变大。

我已经尝试过的:

worksheet.Rows[1].Cells[7].Style.Font.Size = 20; 

worksheet.get_Range("A7", "A7").Style.Font.Size = 20;

这些似乎都不起作用;增加单元格字体大小的正确方法是什么?

4

4 回答 4

13

我不得不使用:

worksheet.get_Range("A7", "A7").Cells.Font.Size = 20;
于 2013-03-29T17:20:02.210 回答
2

如果数据是一致的并且将始终写入相同的单元格,那么这是最简单的解决方案 - 适用于产品详细信息/联系信息类型导出

// set cell A7
worksheet.get_Range("A7", "A7").Font.Size = 20;

// set cells A7, A8
worksheet.get_Range("A7", "A8").Font.Size = 20;

// set cells A7, B7
worksheet.get_Range("A7", "B7").Font.Size = 20;

// set cells A7, A8, B7, B8
worksheet.get_Range("A7", "B8").Font.Size = 20;

如果数据变化并且有时会被写入多个行/列,那么这样的事情会更简单 - 适用于数据集/购物清单类型导出

int RowNum;
int ColNum;

// some code to set variables

worksheet.Cells[RowNum, ColNum].Font.Size = 20; 
于 2014-06-06T16:49:18.597 回答
1

使用 interop excel 时,尽量不要使用“两个点”来编写代码以清除 interop excel 对象。这也有助于使您的代码更具可读性。无论如何,要回答你的问题,并使用我所指出的......你所要做的就是:

//Declare your variables
Application excel = null;
Workbook excelworkBook = null;
Range excelCellrange = null;
Worksheet worksheet = null;
Font excelFont =null;

//start your application
excel = new Application();
try
{
   ...
   //your code goes here...
   excelCellrange = worksheet.Range[worksheet.Cells[1,7],worksheet.Cells[1,7]];
   excelFont = excelCellrange.Font;
   excelfont.Size = 20;
   ...
   ...
}
catch(Exception ex){
}
finally{
   //here put something to clean the interop objects as the link above.
   ...
   Marshal.ReleaseComObject(excelfont);
   ...
}
于 2015-01-12T21:17:28.770 回答
0

我只会使用:

worksheet.Range["A7"].Style.Font.Size = 20;

编辑:对不起,错误的括号

于 2012-07-31T13:12:53.750 回答