hereから受け入れられた回答を使用しています。基本的に、私は.XLSXするcsvファイルを変換しています、その溶液は、バッファリーダーを使用して、1行の中に、個々の細胞のすべてを引っ張るように見えますし、次に使用する:CSVをXLSXに変換しようとしましたが、間違ったカンマで列が分割されています
String str[] = currentLine.split(",");
...文字列が別々に分割され各列の配列の一部。私の問題は、私のデータの中にはコンマがあるので、アルゴリズムが混乱して、必要以上に多くの列を作成して、文章を別の列に分割して実際にはうまくいきません。おそらく文章を分割する別の方法はありますか?私はうまくいけば別の一意の文字(おそらく|?)を使用して文字列を分割したいと思いますが、私はどのようにbufferedreaderによって提供されるコンマを置き換えるか分からない。どんな助けも素晴らしいだろう。コード私は参照のために以下を使用しています:
public static void csvToXLSX() {
try {
String csvFileAddress = "test.csv"; //csv file address
String xlsxFileAddress = "test.xlsx"; //xlsx file address
XSSFWorkbook workBook = new XSSFWorkbook();
XSSFSheet sheet = workBook.createSheet("sheet1");
String currentLine=null;
int RowNum=0;
BufferedReader br = new BufferedReader(new FileReader(csvFileAddress));
while ((currentLine = br.readLine()) != null) {
String str[] = currentLine.split(",");
RowNum++;
XSSFRow currentRow=sheet.createRow(RowNum);
for(int i=0;i<str.length;i++){
currentRow.createCell(i).setCellValue(str[i]);
}
}
FileOutputStream fileOutputStream = new FileOutputStream(xlsxFileAddress);
workBook.write(fileOutputStream);
fileOutputStream.close();
System.out.println("Done");
} catch (Exception ex) {
System.out.println(ex.getMessage()+"Exception in try");
}
}
これは、 'RowNum'ではなく' rowNum'を意味します。 'String [] str'はむしろString str [] 'より[JLS 7](http://docs.oracle.com/javase/specs/jls/se7/jls7.pdf)を参照してください。 –
使用されている慣例は、受け入れられた回答にありましたが、感謝しています。 – jimjamian