tutorial poi org example español apache-poi

org - Cómo obtener el valor de celda de A1(dirección de celda) usando apache poi 3.6



apache poi tutorial español (4)

(Código en Kotlin)

Tienes 2 opciones para especificar la dirección de la celda:

Opción 1: por CellReference (que puede contener referencia al nombre de la hoja):

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())

Opción 2: por CellAddress (que solo puede contener referencia en la celda dentro de una hoja):

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)

Desafortunadamente, el código no puede ser más sencillo porque tanto el Workbook como la Sheet no tienen métodos que devuelvan las celdas por CellReference o CellAddress .

Nota: la sobrecarga de getCell() con el parámetro MissingCellPolicy permite escribir código de una manera más segura:

val cell: Cell? = row.getCell(cellAddress.column, Row.MissingCellPolicy.RETURN_BLANK_AS_NULL) return cell ?: throw UnexpectedExcelStructureException("Unable to find $cellAddress cell on the $sheetName sheet or cell is empty")

Tengo Excel Cell Address como A1, A2. Entonces, ¿cómo acceder a esta celda mediante programación poi3.6?

otra forma es

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

Pero tengo la dirección en el formato A1 ... entonces, ¿cómo accedo a esas celdas de manera programática?


Hay una función de referencia de celda

P.ej

CellReference cellReference = nueva CellReference ("B3");

(tomado del example aquí)


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

Consulte la Guía rápida para obtener más muestras.


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); } }}

Reemplace la variable ''ab'' como su dirección de celda de Excel