我有Excel单元格地址,如A1,A2。那么,如何使用poi3.6以编程方式访问此单元格
另一种方式是
row=mySheet.getRow();
cell=row.getCell();
但是我的地址格式为A1 ...所以,我如何以编程方式访问这些单元格
答案 0 :(得分:36)
CellReference cr = new CellReference("A1");
row = mySheet.getRow(cr.getRow());
cell = row.getCell(cr.getCol());
有关更多样本,请参阅Quick Guide。
答案 1 :(得分:6)
答案 2 :(得分:0)
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
namespace test
{
class Program
{
static void Main(string[] ar)
{
// char a = 'A', b = 'B';
//string[] ab = new string[100];
//ab[0]= "A1";
int k = 0, h = 0; ;
string ab = "B1";
int l;
l = Convert.ToInt32(ab.Length.To String());
for (int i = 0; i < l; i++)
{
if(!char.Is Digit(ab[i]))
{
for (int j = 65; j <= 90; j++)
{
if(Convert.ToInt32(ab[i])==j)
{
break;
}
else
{
k = 1-k;
}
}
}
else
{
h = (Convert.ToInt32(ab[i]))-49;
}
}
Console.Write Line(l);
Console.Write Line(h+""+k);
}
}}
替换变量&#39; ab&#39;作为您的Excel单元格地址
答案 3 :(得分:0)
(科特林代码)
您有2个选项来指定单元格地址:
选项1:通过t1.B, t2.F, t3.Y
(可以包含对工作表名称的引用):
CellReference
选项2:通过val cellReference = CellReference("SheetName!C11")
val sheet = workbook.getSheet(cellReference.sheetName)
val row = sheet.getRow(cellReference.row)
val cell: Cell = row.getCell(cellReference.col.toInt())
(只能在工作表中的单元格上包含引用):
CellAddress
不幸的是,代码无法简单化,因为val sheetName = "SheetName"
val cellAddress = CellAddress("C11")
val sheet = workbook.getSheet(sheetName)
val row = sheet.getRow(cellAddress.row)
val cell: Cell = row.getCell(cellAddress.column)
和Workbook
都没有通过Sheet
或CellReference
返回单元格的方法。
注意:CellAddress
参数的getCell()
重载允许以更安全的方式编写代码:
MissingCellPolicy