c# - NPOI SetCellValue 方法无法更新单元格值
问题描述
检查下面的代码
{
var file = Request.Form.Files;
var path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "dowanloadErpFiles");
var newFileName = $"EeasergyFile_{DateTime.Now.ToPersianDateTime().Replace("/", "_").Replace(":", "_")}.xls";
newFilePath = Path.Combine(path, newFileName);
List<string> FirstColumn_Value = new List<string>();
Stream sr = System.IO.Stream.Null;
HSSFWorkbook hssfwb = null;
HSSFSheet SettingSheet = null;
HSSFSheet RelaySheet = null;
HSSFRow dataRow;
int countRow = 0;
string cel = "";
await Task.Run(() =>
{
if (file.Count > 0)
{
using (sr = file[0].OpenReadStream())
{
hssfwb = new HSSFWorkbook(sr);
sr.Close();
SettingSheet =(HSSFSheet) hssfwb.GetSheet("Settings");
RelaySheet = (HSSFSheet)hssfwb.GetSheet("Relay");
countRow = SettingSheet.PhysicalNumberOfRows;
for (int i = 0; i < countRow; i++)
{
cel = SettingSheet.GetRow(i).Cells[0].StringCellValue;
FirstColumn_Value.Add(cel);
}
foreach (var row in lst)
{
string SQL_Address = row.ADDRESS;
string ParamValue = row.PARAMETER_VALUE;
for (int y = 0; y < FirstColumn_Value.Count; y++)
{
if (SQL_Address == FirstColumn_Value[y])
{
dataRow = (HSSFRow)SettingSheet.GetRow(y);
dataRow.GetCell(2).SetCellValue(ParamValue);
}
}
}
}
using (FileStream fs = new FileStream(newFilePath, FileMode.Create, FileAccess.ReadWrite))
{
hssfwb.Write(fs);
fs.Close();
}
}
});
}
解决方案
推荐阅读
- unreal-engine4 - 如何将 UE4 项目附加到 CV?
- node.js - 我在 Node + expressjs 应用程序中集成了 tinymce
- kdb - 如何使用 wj 在表中存储时间戳列表
- r - 如何在 R 版本的 tensorflow 中实现积分梯度?
- python - Matplotlib 分组图例项
- html - 是否在主标题之前使用副标题来介绍对 SEO 不利的部分?
- python - 如何在python xlwings中使用宏导入多个excel文件
- javascript - Console.log 只显示一次结果,并且 addEventListener 时按钮不起作用
- react-native - 在本机反应中坐在抽屉屏幕中的组件中时标题错位
- sql - 如何查找不存在的记录?