【问题标题】:Changing font size of one cell in excel using C#使用C#更改excel中一个单元格的字体大小
【发布时间】:2012-07-31 13:08:32
【问题描述】:

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

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

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

我已经尝试过的:

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

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

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

【问题讨论】:

  • 谢谢!这解决了我的问题!
  • @Arnout 您可以为此问题添加新答案并接受它(如果您决定再坚持一两天)。 This is encouraged.

标签: c# excel


【解决方案1】:

我不得不使用:

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

【讨论】:

    【解决方案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; 
    

    【讨论】:

      【解决方案3】:

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

      //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);
         ...
      }
      

      【讨论】:

        【解决方案4】:

        我只会使用:

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

        编辑:对不起,括号错误

        【讨论】:

        • 似乎不起作用。给出此错误:“不可调用的成员 'Microsoft.Office.Interop.Excel._Worksheet.Range' 不能像方法一样使用。”
        • 如果我使用:worksheet.get_Range("A7").Style.Font.Size = 20;它仍然使我的整张纸的大小为 20
        猜你喜欢
        • 1970-01-01
        • 2013-02-03
        • 2011-03-20
        • 1970-01-01
        • 1970-01-01
        • 2021-03-18
        • 2011-07-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多