Используя API JExcel, как мне ввести значение ячейки с неизвестным типом данных без добавления скрытого апострофа? - PullRequest
1 голос
/ 11 августа 2010

Я использую JExcel API для создания файла XLS. Я не могу понять, как заполнить новую ячейку без какого-либо определенного форматирования ячейки. Мне бы хотелось, чтобы форматирование применялось автоматически, как это происходит в Excel, когда вы вводите значение в ячейку, и он автоматически определяет, что, по его мнению, вы пытаетесь ввести.

Я написал что-то похожее на это:

import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

WritableWorkbook w = Workbook.createWorkbook(new File(xlsPath));
WritableSheet sheet = w.createSheet("Sheet1", 0);
sheet.addCell(new Label(colNum, rowNum, "99"));

Поскольку я использовал «Метку», значение, введенное в ячейку, равно «99» - обратите внимание на апостроф в значении, заставляя его оценивать как текстовое значение. Другими потенциальными классами, которые можно использовать, являются Blank, Boolean, DateTime, Formula, Label и Number. Проблема в том, что я не знаю, какого типа будет значение ячейки при его установке.

Как я могу ввести свои значения в поле, не зная типа данных и без использования префикса API JExcel с апострофами?

1 Ответ

1 голос
/ 12 августа 2010

Эти апострофы отображаются только при открытии новой книги с использованием OpenOffice. Если я открою его в Excel, апострофы не будут добавлены автоматически. Так что в этом случае использование класса Label работает нормально. Я назову это странностью OpenOffice.

...