Hallo, Jungs
ich habe immer noch keine Lösung für mein Problem.
1.Ich habe dieses Package in mein java projekt kopiert:
poi-2.5.1-final-20040804.jar.
Mein .xls Datei
g1 20 30 40
g2 5 4 2
g3 0.2 0.3 1
erstmal es könnte nur folgendes lesen:
g1 20
g2 5
g3 0.2
Dann nicht mehr und es kommt dieser Fehler:
java.io.IOException: Unable to read entire header; 35 bytes read; expected 512 bytes
at org.apache.poi.poifs.storage.HeaderBlockReader.(HeaderBlockReader.java:78)
at org.apache.poi.poifs.filesystem.POIFSFileSystem.(POIFSFileSystem.java:83)
at de.fhw.bi.sag.gui.readExcel.main(readExcel.java:87)
Mein Code ist:
import java.io.FileInputStream;
import java.text.DecimalFormat;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.*;
public class readExcel
{
private static String filename = „D:\sales.xls“;
public static void main(String[] args)
{
try
{
// open the Excel Spreadsheet
POIFSFileSystem fs =
new POIFSFileSystem(new FileInputStream(filename));
HSSFWorkbook hssfworkbook = new HSSFWorkbook(fs);
// grab the first sheet
HSSFSheet sheet = hssfworkbook.getSheetAt(0);
// define objects for housing spreadsheet data
HSSFCell currentStateCell = null;
HSSFCell currentSalesCell = null;
HSSFRow currentRow = sheet.getRow(0);
int rowCount = 0;
// cycle through rows and display cell values
while (currentRow!=null)
{
currentRow = sheet.getRow(rowCount++);
if (currentRow!=null)
{
currentStateCell = currentRow.getCell((short)0);
currentSalesCell = currentRow.getCell((short)1);
}
else break;
//DecimalFormat dc = new DecimalFormat("$###,###.##");
System.out.print(currentStateCell.getStringCellValue() + " - ");
//System.out.println(dc.format(currentSalesCell.getNumericCellValue()));
System.out.println(currentSalesCell.getNumericCellValue());
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
Danke für Ihre Hilfe