Ich habe 1 Million Datensätze in einem Excel-Blatt. Die Client-Anforderung besteht darin, diese Datei in das CSV-Format zu konvertieren.import xlsx bulk data java
Ich habe versucht, den folgenden Satz von Code,
File src = new File("C:\\test.xlsx")
File dest = new File("C:\\test.csv")
src.renameTo(dest);
Dies ist die Datei zu konvertieren. Aber wenn ich öffne, erhalte ich einen Fehler beim Öffnen der Datei.
Auch habe ich versucht, den folgenden Code,
class XlstoCSV
{
public static void main(String[] args)
{
File inputFile = new File("C:\test.xls");
File outputFile = new File("C:\output.csv");
// For storing data into CSV files
StringBuffer data = new StringBuffer();
try
{
FileOutputStream fos = new FileOutputStream(outputFile);
// Get the workbook object for XLS file
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(inputFile));
// Get first sheet from the workbook
HSSFSheet sheet = workbook.getSheetAt(0);
Cell cell;
Row row;
// Iterate through each rows from first sheet
Iterator<Row> rowIterator = sheet.iterator();
while (rowIterator.hasNext())
{
row = rowIterator.next();
// For each row, iterate through each columns
Iterator<Cell> cellIterator = row.cellIterator();
while (cellIterator.hasNext())
{
cell = cellIterator.next();
switch (cell.getCellType())
{
case Cell.CELL_TYPE_BOOLEAN:
data.append(cell.getBooleanCellValue() + ",");
break;
case Cell.CELL_TYPE_NUMERIC:
data.append(cell.getNumericCellValue() + ",");
break;
case Cell.CELL_TYPE_STRING:
data.append(cell.getStringCellValue() + ",");
break;
case Cell.CELL_TYPE_BLANK:
data.append("" + ",");
break;
default:
data.append(cell + ",");
}
data.append('\n');
}
}
fos.write(data.toString().getBytes());
fos.close();
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
Aber mein Code wird immer in dieser Datei ist fehlgeschlagen,
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(inputFile));
Ich erhalte Fehler Heap-Speicher in der obigen Zeile selbst. Ich bin mir nicht sicher, wie man mit Java Daten aufladen kann. Ich habe sogar Apache POI Jar Code ausprobiert. Aber dieser Code versagt auch.
Kann mir jemand dabei helfen?
Gründe, die Datei in Excel und "Speichern unter" csv nicht zu öffnen? – assylias
@assylias Vielen Dank, dass Sie gerade meine Zeit gespeichert haben – Lokesh
Ist die Datei auf dem Server, der dynamisch aktualisiert wird? – Lokesh