如何使用apache poi 3.6获取A1(单元格地址)的Cell值

时间:2010-11-25 11:41:33

标签: apache-poi

我有Excel单元格地址,如A1,A2。那么,如何使用poi3.6以编程方式访问此单元格

另一种方式是

 row=mySheet.getRow();
 cell=row.getCell();

但是我的地址格式为A1 ...所以,我如何以编程方式访问这些单元格

4 个答案:

答案 0 :(得分:36)

CellReference cr = new CellReference("A1");
row = mySheet.getRow(cr.getRow());
cell = row.getCell(cr.getCol());

有关更多样本,请参阅Quick Guide

答案 1 :(得分:6)

有一个cellReference函数

E.g。

CellReference cellReference = new CellReference(“B3”);

(摘自example此处)

答案 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都没有通过SheetCellReference返回单元格的方法。

注意:CellAddress参数的getCell()重载允许以更安全的方式编写代码:

MissingCellPolicy