Verarbeiten einer Excel Datei durch das java-Programm

Adriano10

Bekanntes Mitglied
Also manchmal in der Excel Datei kommen Sonderzeichen wie ", z.B so geschrieben "Bild", das löst dann den Fehler aus.

Wie kann das Programm Anführungszeichen " erkennen?

Vielen Dank im Voraus
 
a) Was ist der genaue Code? Sprich: Wie greifst Du auf das Excel Dokument zu und so.
b) Was ist der genaue Fehler?
 
a) Was ist der genaue Code? Sprich: Wie greifst Du auf das Excel Dokument zu und so.
b) Was ist der genaue Fehler?
Java:
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URISyntaxException;
import java.net.URL;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class Test {

    public static void main(String[] args) throws IOException, URISyntaxException {

        String path = "ist richtig";
        String fileName = "test.xlsx";
        String path1 = "ist richtig";
        //Data Formatter
        DataFormatter dataFormatter = new DataFormatter();
        Path filePath = Paths.get(path1 + fileName);
        File file = new File(fileName);
        if (!file.exists()) {
            try {
                Files.createFile(filePath);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        int index = 0;
        //File input
        FileInputStream inputStream = new FileInputStream(path);
        //File output
        FileOutputStream outputStream = new FileOutputStream(path1 + filePath.getFileName());
        Workbook myWorkBook = new XSSFWorkbook(inputStream);
        Workbook myWorkBook1 = new XSSFWorkbook();
        XSSFSheet mySheet = (XSSFSheet) myWorkBook.getSheetAt(0);
        //Targetbook
        XSSFSheet targetSheet = (XSSFSheet) myWorkBook1.createSheet("Proforma-Invoice");
        Row row;
        Cell cell;
        for (int i = 0; i <= mySheet.getPhysicalNumberOfRows(); i++) {
            row = targetSheet.createRow(i);
            for (int j = 0; j < 22; j++) {
                cell = row.createCell(j);
                if (myWorkBook.getSheetAt(0).getRow(i) == null) {
                    cell.setCellValue("");
                } else {
                    if(myWorkBook.getSheetAt(0).getRow(i).getCell(j).equals("\"")){
                      
                    }
                    cell.setCellValue(dataFormatter.formatCellValue(myWorkBook.getSheetAt(0).getRow(i).getCell(j)));
                }
            }
        }
        System.out.println(index);
                myWorkBook1.write(outputStream);

        }
    }

Fehler wird durch Anführungszeichen in Seeburger ausgelöst, daher will ich erst Java-Programm so schreiben, dass die Anführungszeichen, die vorkommen, durch Hochkomma ersetzt werden.
 

Zurück
Oben