<source>
Workbook wb = new HSSFWorkbook();
//Workbook wb = new XSSFWorkbook();
+ CreationHelper createHelper = wb.getCreationHelper();
Sheet sheet = wb.createSheet("new sheet");
// Create a row and put some cells in it. Rows are 0 based.
// Or do it on one line.
row.createCell((short)1).setCellValue(1.2);
row.createCell((short)2).setCellValue(
- cell.createRichTextString("This is a string"));
+ createHelper.createRichTextString("This is a string"));
row.createCell((short)3).setCellValue(true);
// Write the output to a file
<anchor id="CreateDateCells"/>
<section><title>Creating Date Cells</title>
<source>
- HSSFWorkbook wb = new HSSFWorkbook();
- HSSFSheet sheet = wb.createSheet("new sheet");
+ Workbook wb = new HSSFWorkbook();
+ //Workbook wb = new XSSFWorkbook();
+ CreationHelper createHelper = wb.getCreationHelper();
+ Sheet sheet = wb.createSheet("new sheet");
// Create a row and put some cells in it. Rows are 0 based.
- HSSFRow row = sheet.createRow((short)0);
+ Row row = sheet.createRow((short)0);
// Create a cell and put a date value in it. The first cell is not styled
// as a date.
- HSSFCell cell = row.createCell((short)0);
+ Cell cell = row.createCell((short)0);
cell.setCellValue(new Date());
// we style the second cell as a date (and time). It is important to
// create a new cell style from the workbook otherwise you can end up
// modifying the built in style and effecting not only this cell but other cells.
- HSSFCellStyle cellStyle = wb.createCellStyle();
- cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy h:mm"));
+ CellStyle cellStyle = wb.createCellStyle();
+ cellStyle.setDataFormat(
+ createHelper.createDataFormat().getFormat("m/d/yy h:mm"));
cell = row.createCell((short)1);
cell.setCellValue(new Date());
cell.setCellStyle(cellStyle);
import java.io.FileOutputStream;
import java.io.IOException;
+import java.util.Date;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.CellStyle;
+import org.apache.poi.ss.usermodel.CreationHelper;
+import org.apache.poi.ss.usermodel.DataFormat;
import org.apache.poi.ss.usermodel.RichTextString;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
for (int i = 0; i < wbs.length; i++) {
Workbook wb = wbs[i];
+ CreationHelper createHelper = wb.getCreationHelper();
Sheet sheet = wb.createSheet("new sheet");
// Create a row and put some cells in it. Rows are 0 based.
// Or do it on one line.
row.createCell((short)1).setCellValue(1.2);
row.createCell((short)2).setCellValue(
- cell.createRichTextString("This is a string"));
+ createHelper.createRichTextString("This is a string"));
row.createCell((short)3).setCellValue(true);
// Write the output to a file
fileOut.close();
}
}
+
+ public void newDateCells() throws IOException {
+ Workbook wb = new HSSFWorkbook();
+ //Workbook wb = new XSSFWorkbook();
+ CreationHelper createHelper = wb.getCreationHelper();
+ Sheet sheet = wb.createSheet("new sheet");
+
+ // Create a row and put some cells in it. Rows are 0 based.
+ Row row = sheet.createRow((short)0);
+
+ // Create a cell and put a date value in it. The first cell is not styled
+ // as a date.
+ Cell cell = row.createCell((short)0);
+ cell.setCellValue(new Date());
+
+ // we style the second cell as a date (and time). It is important to
+ // create a new cell style from the workbook otherwise you can end up
+ // modifying the built in style and effecting not only this cell but other cells.
+ CellStyle cellStyle = wb.createCellStyle();
+ cellStyle.setDataFormat(createHelper.createDataFormat().getFormat("m/d/yy h:mm"));
+ cell = row.createCell((short)1);
+ cell.setCellValue(new Date());
+ cell.setCellStyle(cellStyle);
+
+ // Write the output to a file
+ FileOutputStream fileOut = new FileOutputStream("workbook.xls");
+ wb.write(fileOut);
+ fileOut.close();
+ }
}
int eofLoc = sheet.findFirstRecordLocBySid( EOFRecord.sid );
sheet.getRecords().add( eofLoc, link.record );
}
-
- /**
- * Creates a new HSSFRichTextString for you.
- */
- public RichTextString createRichTextString(String text) {
- return new HSSFRichTextString(text);
- }
}
--- /dev/null
+/* ====================================================================
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+==================================================================== */
+package org.apache.poi.hssf.usermodel;
+
+import org.apache.poi.ss.usermodel.CreationHelper;
+import org.apache.poi.ss.usermodel.DataFormat;
+import org.apache.poi.ss.usermodel.RichTextString;
+
+public class HSSFCreationHelper implements CreationHelper {
+ private HSSFWorkbook workbook;
+ private HSSFDataFormat dataFormat;
+
+ HSSFCreationHelper(HSSFWorkbook wb) {
+ workbook = wb;
+
+ // Create the things we only ever need one of
+ dataFormat = new HSSFDataFormat(workbook.getWorkbook());
+ }
+
+ /**
+ * Creates a new HSSFRichTextString for you.
+ */
+ public RichTextString createRichTextString(String text) {
+ return new HSSFRichTextString(text);
+ }
+
+ public DataFormat createDataFormat() {
+ return dataFormat;
+ }
+}
import org.apache.poi.hssf.record.formula.UnionPtg;
import org.apache.poi.hssf.util.CellReference;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
+import org.apache.poi.ss.usermodel.CreationHelper;
import org.apache.poi.util.POILogFactory;
import org.apache.poi.util.POILogger;
}
}
}
+
+ public CreationHelper getCreationHelper() {
+ return new HSSFCreationHelper(this);
+ }
private byte[] newUID()
{