c# excel 用npoi怎么获取cell的坐标
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# excel 用npoi怎么获取cell的坐标相关的知识,希望对你有一定的参考价值。
c# 使用npoi读取excel时使用cell对象时 , 怎么获取cell的坐标 如index为 0 , 0 的cell 坐标为
A1 ? 谢谢
用CellReference.FormatAsString()可以获得它的坐标,我写了一个扩展方法,你可以参考一下
public static class NpoiExtensions/// <summary>
/// 获得单元格的坐标名称
/// </summary>
/// <param name="cell"></param>
/// <returns></returns>
public static string GetCellReference(this ICell cell)
var cellReference = string.Empty;
if(cell!=null)
cellReference=new CellReference(cell).FormatAsString();
return cellReference;
参考技术A NPOI操作Excel楼主可以看下这篇文章,里面读Excel和写Excel都有例子....
http://www.cnblogs.com/mqxs/p/3372333.html本回答被提问者和网友采纳
Npoi读取Excel
由于Office读取Excel需要去安装插件,所以懒得装插件。换另外一个插件读取Excel。
读取单元格的时候得注意Cells方法会抛出异常,它自己会判断单元格是否有值,没有的话,开始可能是五列,一列为空那么就回发现不能正常获取第五列的值。GetCell可以避免情况出现。还有一个就是Excel版本不同生成的文件也不同,做一下大致的区分即可。这个插件还是用着蛮不错的,像我这种账单狗,还是用得到的。毕竟我不喜欢用Excel只喜欢用程序分析数据。
StringBuilder stu = new StringBuilder();
DirectoryInfo mydir = new DirectoryInfo(strFileName);//strFileName 这个参数代表的是文件夹的地址读取下面的所有Excel
FileSystemInfo[] fsi = mydir.GetFileSystemInfos();
for (int j = 0; j < fsi.Length; j++)
{ //AWBCode, BrokerAbbreviation, ItemCount, VolumeWeight, GrossWeight, CustomerBatchCode, AirportCode, ATA, ATW, Discount, Remark, ID
if (fsi[j] is FileInfo)//
{
IWorkbook wk = null;
string extension = System.IO.Path.GetExtension(fsi[j].FullName);
FileStream fs = File.OpenRead(fsi[j].FullName);
if (extension.Equals(".xls"))
{
//把xls文件中的数据写入wk中
wk = new HSSFWorkbook(fs);
}
else
{
//把xlsx文件中的数据写入wk中
wk = new XSSFWorkbook(fs);
}
fs.Close();
// int sheetCount = wk.NumberOfSheets;//获取sheet的数量
ISheet sheet = wk.GetSheet(wk.GetSheetName(0));//第一个sheet页(列表)
#region 读取第一个sheet页面
for (int i = 1; i <= sheet.LastRowNum; i++)
{
IRow row = sheet.GetRow(i); //读取当前行数据
stu.Append(row.GetCell(0));//记得row.Cells如果取出来的值是空的是会抛出异常的GetCell可以避免异常出现
}
#endregion
}
}
以上是关于c# excel 用npoi怎么获取cell的坐标的主要内容,如果未能解决你的问题,请参考以下文章
C#用NPOI读取Excel数据到数据库中行的顺序乱怎么办?
C# winform DevExpress GridControl 大批量数据(9万行+4百列)导出Excel报错,内存溢出,怎么办?