我创建了一个excel文件,并在(0,0)[行,单元格]中插入了一个新值作为Hello。第二次打开同一个excel文件,同一张表,用另一个字符串值更新了同一个(0,0)单元格。
代码正在成功运行,没有任何错误,但文件已损坏,无法打开。
代码
namespace PractiseProject
{
public static class ExcelNPOI
{
static IWorkbook workbook;
static ISheet sheet;
static IRow row;
static ICell cell;
static string file = "C:/Users/MSTEMP/Documents/Files/Test.xlsx";
static string sheetName = "Testcase";
public static void createExcel()
{
string firstValue = "Hello";
if (!File.Exists(file))
{
using (FileStream str = new FileStream(file, FileMode.Create, FileAccess.Write))
{
workbook = new XSSFWorkbook();
sheet = workbook.CreateSheet(sheetName);
row = sheet.CreateRow(0);
cell = row.CreateCell(0);
cell.SetCellValue(firstValue);
workbook.Write(str);
str.Close();
}
}
else
{
using (FileStream rstr = new FileStream(file, FileMode.Open, FileAccess.Read))
{
workbook = new XSSFWorkbook(rstr);
sheet = workbook.GetSheet(sheetName);
using (FileStream wstr = new FileStream(file, FileMode.Open, FileAccess.ReadWrite))
{
string secondValue = "changes";
row = sheet.GetRow(0);
cell = row.GetCell(0);
cell.SetCellValue(secondValue);
Debug.Print(cell.ToString());
workbook.Write(wstr);
wstr.Close();
}
rstr.Close();
}
}
}
}
}
在调试模式下,在设置第二个值之后。SetCellValue(第二个值);我可以通过Debug查看该值。打印(cell. ToString());并且该值在控制台中打印。但是当写入工作簿时,文件会损坏。指导我通过联系。
我在第二部分使用语句时犯了一个错误。。
之前:
using (FileStream wstr = new FileStream(file, FileMode.Open, FileAccess.ReadWrite))
现在:
using (FileStream wstr = new FileStream(file, FileMode.Create, FileAccess.Write))
我更改了FileMode和FileAccess类型,现在它工作正常。
我试图用Java(Apache POI)更新一个现有excel文件中的空单元格,这是我写的代码,我没有得到任何错误,值也没有改变。 谢谢:)
我正在使用apache POI更改excel表中的单元格。更改值后,与已更改的单元格对应的公式的单元格不会更新。 当我进入excel并单击带有公式的单元格,然后在函数栏中单击时,公式会更新。 A1仍然等于3,直到我点击那个单元格。 刷新工作簿或工作表也不起作用。这是excel或POI的问题吗?有人能想出一个变通办法吗?
我有一个预定义的excel文件,这是一种形式,其中大部分的信息已经提到,但我必须只输入姓名,地址等细节从我的应用程序用Java。 我可以存储单元格(如A12、B20等),并使用Apache POI库和方法轻松地更新这些单元格。但我希望它是动态的。例如,如果用户将名称单元格从A12更改为B12,Java代码不应该被修改。
我正在尝试编写一个Java程序,该程序将每天运行(使用任务调度器),并在每次运行时向Excel电子表格中添加一列。我遇到的问题是,它只是重新写入文件,而不是附加到文件中。我正在使用Apache POI,以下是相关代码:
我使用NPOI dll在C#中对excel表进行genrating。当我以编程方式在某个单元格上应用公式并导出excel时,在excel表的保护模式下,所有具有公式的单元格都显示为“0”值。但是当我编辑这个excel时,所有的公式都能在这些单元格上正常工作。是否有任何解决方案,从应用公式也可以工作在保护模式?
我在把数据写到excel文件时遇到了问题。我使用的是apache POI 4.1.2版本库。下面是示例代码。 在excel文件中保存的最后一列单元格中,以前的单元格保持为空白。请帮忙,如果我做错了什么,请告诉我?