Все Excel
числовые форматы на основе шаблона специального формата.См. Как управлять и понимать настройки в диалоговом окне «Формат ячеек» в Excel .
Чтобы узнать, какие именно шаблоны форматов необходимы для специальных форматов, можно применить специальный формат к ячейке, а затемвзгляните на соответствующий пользовательский формат.
Ниже приведен специальный формат «Номер социального страхования (CH)» - Швейцария:
ЭтоНемецкий Excel
«Sonderformat» - «Специальный».
Это соответствует пользовательскому формату 000\.00\.000\.000
.Вы можете вычесть это, просто перейдя в категорию Custom
в диалоговом окне Excel
Format Cells
- Number
.Затем прочитайте шаблон из текстового поля ниже Type:
:
Это немецкий Excel
"Benutzerdefiniert" это "Custom".
Итак, общеепуть: сначала выберите свой специальный формат в диалоговом окне Excel
Format Cells
- Number
.Затем измените категорию на Custom
и прочитайте соответствующий шаблон из текстового поля ниже Type:
.
Если у вас есть шаблон формата чисел, его можно использовать, используя apache poi
следующим образом:
import java.io.FileOutputStream;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
class CreateExcelNumberFormat {
public static void main(String[] args) throws Exception {
try (Workbook workbook = new XSSFWorkbook();
FileOutputStream fileout = new FileOutputStream("Excel.xlsx") ) {
DataFormat format = workbook.createDataFormat();
CellStyle specialSIN = workbook.createCellStyle();
specialSIN.setDataFormat(format.getFormat("000\\.00\\.000\\.000"));
Sheet sheet = workbook.createSheet();
Cell cell = sheet.createRow(0).createCell(0);
cell.setCellStyle(specialSIN);
cell.setCellValue(12345678901d);
sheet.setColumnWidth(0, 14*256);
workbook.write(fileout);
}
}
}
Ваш номер социального страхования для английского языка (Канада) должен быть:
...
specialSIN.setDataFormat(format.getFormat("000 000 000"));
...
cell.setCellValue(46454286);
...