c# - EPPlus 获取 excel 行数和列数
问题描述
我有一个 excel 文件,它有 5 列和 5 行。
我正在使用 EPPlus (.net core c#) 来解析文件的内容。
我有下面的代码来计算行和列,然后解析这个 excel 文件的内容。
using (ExcelPackage package = new ExcelPackage(stream))
{
ExcelWorksheet worksheet = package.Workbook.Worksheets[1];
int rowCount = worksheet.Dimension.End.Row;
int colCount = worksheet.Dimension.End.Column;
for (int row = 1; row <= rowCount; row++)
{
for (int col = 1; col <= colCount; col++)
{
//Parse here
}
}
}
如上所述,使用 5 行和 5 列数据可以正常工作。
如果我更新并保存同一个文件,并删除说 3 行和 3 列。
现在,如果我再次阅读此文件,它仍然显示 5 列和行。不确定是否有另一种读取实际行和列的方法?
我在这里错过了什么吗?
解决方案
尝试这个
using (ExcelPackage package = new ExcelPackage(stream))
{
string directoryServerPath = // your file saving path in server;
if (!Directory.Exists(directoryServerPath))
Directory.CreateDirectory(directoryServerPath);
System.IO.DirectoryInfo directoryFiles = new DirectoryInfo(directoryServerPath);
foreach (FileInfo file in directoryFiles.GetFiles())
{
file.IsReadOnly = false;
file.Delete();
}
ExcelWorksheet worksheet = package.Workbook.Worksheets[1];
int rowCount = worksheet.Dimension.Rows;
int colCount = worksheet.Dimension.Columns;
for (int row = 1; row <= rowCount; row++)
{
for (int col = 1; col <= colCount; col++)
{
//Parse here
}
}
package.SaveAs(new System.IO.FileInfo(directoryServerPath + fileName));
System.IO.File.SetAttributes(directoryServerPath + fileName, FileAttributes.ReadOnly);
}
推荐阅读
- python - 在 Debian 10 上安装 oneAPI intel ToolKit 后的问题
- arrays - Bash 中的嵌套 for 循环和数组
- python - 如何将语言 ISO639-1 代码转换为 python 中的语言名称?
- makefile - 多个目标的 Makefile(目录中的 asm 文件)
- python - StatsModels Groupby 线性回归数据类型错误:Pandas 数据转换为对象的 numpy dtype。使用 np.asarray(data) 检查输入数据
- python-3.x - 透视一个没有数字列的两列数据框进行聚合
- google-analytics - 名称不熟悉的 Google Analytics(分析)广告系列?
- linux - Git rebase 显示空文本编辑器
- algorithm - 欧几里得算法在上限下的数对上所采取的步骤总和的快速算法
- react-native - 排毒:与兄弟匹配器