gpt4 book ai didi

c# - 尝试将粗体应用于整行但不断获得空引用 - NPOI

转载 作者:行者123 更新时间:2023-11-30 14:55:08 27 4
gpt4 key购买 nike

<分区>

我第一次将粗体应用于列,但我只希望一行加粗而不是整列。所以我决定做同样的事情,但使用 row.RowStyle。编译没有错误,但我得到的是运行时错误,其中显示 r.RowStyle.SetFont(font);。我制作了一个与 excel 相关的所有内容的类,在此类中我得到了这个错误(r.RowStyle.SetFont(font);):

已处理 NullReferenceException

对象引用未设置为对象的实例。

调试了整个过程,没有任何null。我不明白为什么在使用 RowStyle 时会出现此错误,而在使用 CellStyle 时却不会出现该错误。

这是我的课:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using NPOI.HSSF.UserModel;
using NPOI.HPSF;
using NPOI.POIFS.FileSystem;
using NPOI.SS.UserModel;

using System.IO;


//works with everything related to excel
namespace takeMyTime_text
{
class exelSheet
{
string exelPath; // where it's being saved

HSSFWorkbook wb2 = new HSSFWorkbook();

ISheet sheet;

IRow r;

IFont font;

String[] headerTitles = { "Date", "In", "Out", "In", "Out", "Description" };

// assing values to class variables
public void getValues(string path, string worksheetName)
{
exelPath = path;
}


//excel header
public void header()
{
#region set bold properties

font = wb2.CreateFont();

font.FontHeightInPoints = 11;

font.FontName = "Arial";

font.Boldweight = (short)FontBoldWeight.Bold;

#endregion

sheet = wb2.CreateSheet("test sheet");

//se tiene que usar esto cada vez que vallas a escribir en el mismo row
r = sheet.CreateRow(0);

r.RowStyle.SetFont(font);

for (int i = 0; i < headerTitles.Length; i++)
{
r.CreateCell(i).SetCellValue(headerTitles[i]);
}
}

//excel footer
public void footer(int row, int col, string totalHours, int row2, int col2)
{
//ws.Cells[row, col] = new Cell("Worked hours:");

//ws.Cells[row2, col2] = new Cell(totalHours);

//wb.Worksheets.Add(ws);

//wb.Save(exelPath);
}

// write the date on the excel file
public void writeDate(DateTime dt, int col, int row)
{
r = sheet.CreateRow(row);

r.CreateCell(col).SetCellValue(dt.Month + "/" + dt.Day + "/" + dt.Year);
}

//write and value on a cel
public void writeValues(string text, int col, int row)
{
//r = sheet.CreateRow(row);

r.CreateCell(col).SetCellValue(text);
}

//guarda la info en un excel
public void writeToFile()
{
FileStream file = new FileStream(exelPath, FileMode.Create);

wb2.Write(file);

file.Close();
}
}
}

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com