Google Analytics İzleme

22 Ocak 2013

NPOI - .xls 2003 türü Excel okuma esnasında cell değerini okuma


NPOI'de eski Excel 2003 versiyonu yani .xls dokümanlarında excel cell değerini almak için kullanılan yöntemler:


double NumericCellValue { get; }
DateTime DateCellValue { get; }
IRichTextString RichStringCellValue { get; }
byte ErrorCellValue { get; }
string StringCellValue { get; }
bool BooleanCellValue { get; }


Örnek okuma kodu:

string strCell1 = sheet.GetRow(rowIndex).GetCell(colIdx).StringCellValue;

Eğer excel cell türü Number veya Sayısal ise StringCellValue ile okuma yaparken hata vermektedir. Okuma esnasında bu cell'in tür bilgisine göre okuma yapılmalıdır.

Cell'in tür bilgisi:

CellType CellType { get; }

CellType enum bilgisidir ve şu şekildedir:


public enum CellType
  {
    Unknown = -1,
    NUMERIC = 0,
    STRING = 1,
    FORMULA = 2,
    BLANK = 3,
    BOOLEAN = 4,
    ERROR = 5,
  }

Sayısal veya diğer cell tür'lerinde okuma yapabilmek için önce o cell'in türünü string türüne çevirmek; okuma esnasındaki hatalarını gidermek adına yöntem olabilir. Ancak bu durum, yazdığınız case'e yani duruma göre değişmektedir.

İşlem yapmadan önce veya okuma yapmadan önce Cell türünü değiştirme kod örneği:


if(sheet1.GetRow(i) != null)
                    sheet1.GetRow(rowIndex).GetCell(colIndex).SetCellType(CellType.STRING);



Kaynaklar:

NPOI : How To Read File using NPOI
http://stackoverflow.com/questions/5855813/npoi-how-to-read-file-using-npoi

How can I read numeric strings in Excel cells as string (not numbers) with Apache POI?
http://stackoverflow.com/questions/1072561/how-can-i-read-numeric-strings-in-excel-cells-as-string-not-numbers-with-apach

Problem in reading Numeric value as String fom Excel file using Apache POI
http://www.coderanch.com/t/446602/open-source/reading-Numeric-String-fom-Excel

How do I read from an Excel file using POI?
http://www.avajava.com/tutorials/lessons/how-do-i-read-from-an-excel-file-using-poi.html





Hiç yorum yok: