8

Java Spring と jxl を使用して、サーバー側で Excel ワークブックを作成しています。Excel で表示する必要があるデータは、既に書式設定された数値で構成されています。私は使っている

WritableCellFormat wcf = new WritableCellFormat();
wcf.setAlignment(Alignment.RIGHT);
....
....
sheet.addCell(new Label(j, i + 1, xxx, wcf));
//where xxx is a string which is a number already formatted

ダウンロードした Excel ファイルでは、これらの数値はすべてテキストとして保存されているため、Excel では数式を使用できません。「テキストとして保存された数値」という警告が表示され、「数値に変換」を実行する必要があります。

jxl では、文字列を渡して、それらを数値として解釈するように指示できますか? 私が持っているすべての数字は、$、%、千単位の区切り文字を使用して異なる形式でフォーマットされた有効な数字です。それらを有効な数値に変換して、Excel へのエクスポート中に再度書式設定したくありません。

助けてください。ありがとうございました。

4

3 に答える 3

5

同様の問題がありました

変数をintに変更し、それが役立つ新しい Number関数を使用しました。

int eday =  Integer.parseInt(Trainingresult.getString("Day"));
//Label Eday = new Label(1, i, eday);
firstsheet.addCell(new Number(1,i,eday));
于 2014-07-08T17:54:35.933 に答える
0
/*use new Number to write number cell*/
WritableWorkbook w;
    try {
        w = Workbook.createWorkbook(new File("c:/test.xls"));
        WritableSheet s = w.createSheet("Demo Book", 0);
        WritableCellFormat wcf = new WritableCellFormat();
        for (int i=0;i<10;i++){
            int row = i+1;
            /*add cell number*/
            s.addCell(new Number(1, i, (i*15)));
            /*add cell number*/
            s.addCell(new Number(2, i, (i*3+Math.random()*10)));
            /*add formula*/
            s.addCell(new Formula(3,i,"B"+row+" * C"+row));
        }
        w.write();
        w.close();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (RowsExceededException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (WriteException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
于 2010-12-22T21:57:13.820 に答える