使用C#在Excel中更改一个单元格的字体大小

我正在处理将数据写入Excel文件的项目。

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

我已经阅读了关于这个有关互联网,但我一直有同样的问题:当我执行我的代码(见我已经尝试了下面),工作表中的一切变得更大。

我已经尝试过了:

worksheet.Rows[1].Cells[7].Style.Font.Size = 20; worksheet.get_Range("A7", "A7").Style.Font.Size = 20; 

这似乎没有工作; 什么是正确的方法来增加单元格的字体大小?

我不得不使用:

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

在使用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); ... } 

我只会使用:

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

编辑:抱歉,括号内有错误

如果数据一致并始终写入相同的单元格,那么这是最简单的解决scheme – 适用于产品详细信息/联系人信息types导出

 // 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; 

如果数据变化,有时会写入多行/列,那么类似这样更简单 – 适用于数据集/购物清单types导出

 int RowNum; int ColNum; // some code to set variables worksheet.Cells[RowNum, ColNum].Font.Size = 20;