a) Was ist der genaue Code? Sprich: Wie greifst Du auf das Excel Dokument zu und so.
b) Was ist der genaue Fehler?
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);
}
}
daher will ich erst Java-Programm so schreiben, dass die Anführungszeichen, die vorkommen, durch Hochkomma ersetzt werden.
String text = " das ist ein \"Test\"-Text";
System.out.println(text.replace('"', '\''));