Jakarta Poiを使用して、Excel/Officeで開くことができるJavaから.xlsxファイルを作成しています。いくつかのセルは複数の値を表し、元々はヌルに区切られています。たとえば、セルに設定すると 'fred/u000/tom'となります。ヌル文字を '\ n'で置き換えます。Apache PoiでOpenOfficeだけでなくMS Excelで正しく表示されるように多値表計算セルを作成するには
これはすべてOpenOfficeでうまくいきます。複数の行に対応するためにこれらの行の高さ。しかし、私はOpenOfficeがxlsx形式からxls形式でファイルを開くのにかなり長い時間を要していたので、Microsoft Excelに投資したので、すべての値が同じファイルがすべて1行に表示されていました。
あなたが編集に行けば値はExcelが複数の値を収容するために、高さを増すが、なぜそれが読み取りでそれを行うことはありません。
スプレッドシートを編集する必要はありませんので、私は「\ n」は、ファイルを表示するには、Excelを強制的にいくつかのオプションのOpenOffice
ようコードエキス
private void addFieldValue(Session session, Worksheet sheet, Row r, int spreadsheetIndex, SongFieldNameColumnWidth sfncw, SongChanges fieldChanges, Song song)
{
SongFieldName songFieldName = sfncw.getSongFieldName();
String value = "";
org.apache.poi.ss.usermodel.Cell c ;
c=r.createCell(spreadsheetIndex);
//Chnanges have been made to this field
if(fieldChanges!=null)
{
if (changeType == SongChangeType.ADD)
{
value = fieldChanges.getNewValue().replace('\u0000', '\n');
c.setCellValue(value);
c.setCellStyle(fieldAddedStyle);
}
else if (changeType == SongChangeType.EDIT)
{
value = fieldChanges.getNewValue().replace('\u0000', '\n');
c.setCellValue(value);
c.setCellStyle(fieldChangedStyle);
//addCellComment(r, c, sheet, fieldChanges.getOriginalValue());
}
else if (changeType == SongChangeType.DELETE)
{
c.setCellStyle(fieldDeletedStyle);
}
}
sfncw.setColumnWidthFromValue(value);
}
の代わりに使用することができる何か他のものがあります
あなたの世代のコードを見てなければ、我々はあなたの間違いを見ることができるという希望をたくさん持っていない... – Gagravarr
@Gagravarr私は今いくつかのコードを追加しましたが、実際に私はすでに質問にデータを設定していた方法を説明しました。 –
Excelに表示する値を入力し、Apache POIからその値を読み込んだ場合、POIはセルの値をどのように見ていますか?たぶん '\ r'か' \ r \ n'ですか? – Gagravarr