我需要读取 Excel 文件的特定列值。
我无法按原样读取单元格值。
我的代码是
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.apache.poi.ss.usermodel.Workbook;
public class ExcelSheetColumn
{
public static void main(String[] args) throws InvalidFormatException, FileNotFoundException, IOException
{
Workbook wb = WorkbookFactory.create(new FileInputStream("C:/Users/Pradeep.HALCYONTEKDC/Desktop/My Data/ExcelFiles/XLS1.xls"));
Sheet sheet = wb.getSheet("Retail - All");
Row row=null;
Cell cell ;
for (int j=0; j< sheet.getLastRowNum()+1; j++)
{
row = sheet.getRow(j);
cell = row.getCell(0);
if(cell!=null)
{
int type = cell.getCellType();
if (type == HSSFCell.CELL_TYPE_STRING)
System.out.println(cell.getRichStringCellValue().toString());
else if (type == HSSFCell.CELL_TYPE_NUMERIC)
System.out.println(cell.getNumericCellValue());
else if (type == HSSFCell.CELL_TYPE_BOOLEAN)
System.out.println( cell.getBooleanCellValue());
else if (type == HSSFCell.CELL_TYPE_BLANK)
System.out.println(cell.getColumnIndex() + "] = BLANK CELL");
}
}
}
}
Excel 列值是
79
999861
999861
https://staging.adpcreditsolutions.com
/index/contract_decision
9200278
2011/01/17
79
5032944200
IL4-PCC@TEST.COM
1979/12/31
0.00
0.00
但我得到的输出是
79.0
999861.0
999861.0
https://staging.adpcreditsolutions.com
/index/contract_decision
9200278.0
17-Jan-2011
79.0
5.0329442E9
IL4-PCC@TEST.COM
31-Dec-1979
0.0
0.0
如何阅读我上面的程序的代码以按原样读取 excel 列值?请帮我!!
if (type == HSSFCell.CELL_TYPE_NUMERIC)
{
String stringValue=""+cell.getNumericCellValue();
String[] splitValue=stringValue.split(".0");
System.out.println(splitValue[0]);
}