You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ni...@apache.org on 2015/07/31 19:23:01 UTC
svn commit: r1693633 - in
/poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming: SXSSFCell.java
SXSSFRow.java SXSSFSheet.java SXSSFWorkbook.java
Author: nick
Date: Fri Jul 31 17:23:01 2015
New Revision: 1693633
URL: http://svn.apache.org/r1693633
Log:
Use more specific return types in SXSSF, which avoids casts, and also fix some long-standing TODOs on 1904 dates
Modified:
poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFCell.java
poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFRow.java
poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFSheet.java
poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFWorkbook.java
Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFCell.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFCell.java?rev=1693633&r1=1693632&r2=1693633&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFCell.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFCell.java Fri Jul 31 17:23:01 2015
@@ -33,18 +33,18 @@ import org.apache.poi.ss.usermodel.Formu
import org.apache.poi.ss.usermodel.Hyperlink;
import org.apache.poi.ss.usermodel.RichTextString;
import org.apache.poi.ss.usermodel.Row;
-import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.ss.util.CellReference;
+import org.apache.poi.util.POILogFactory;
+import org.apache.poi.util.POILogger;
import org.apache.poi.xssf.usermodel.XSSFHyperlink;
+import org.apache.poi.xssf.usermodel.XSSFRichTextString;
/**
* Streaming version of XSSFRow implementing the "BigGridDemo" strategy.
- *
- * @author Alex Geller, Four J's Development Tools
*/
-public class SXSSFCell implements Cell
-{
+public class SXSSFCell implements Cell {
+ private static POILogger logger = POILogFactory.getLogger(SXSSFCell.class);
SXSSFRow _row;
Value _value;
@@ -84,7 +84,7 @@ public class SXSSFCell implements Cell
*
* @return the sheet this cell belongs to
*/
- public Sheet getSheet()
+ public SXSSFSheet getSheet()
{
return _row.getSheet();
}
@@ -185,11 +185,8 @@ public class SXSSFCell implements Cell
* precalculated value, for numerics we'll set its value. For other types we
* will change the cell to a numerics cell and set its value.
*/
- public void setCellValue(Date value)
- {
-//TODO: activate this when compiling against 3.7.
- //boolean date1904 = getSheet().getXSSFWorkbook().isDate1904();
- boolean date1904 = false;
+ public void setCellValue(Date value) {
+ boolean date1904 = getSheet().getWorkbook().isDate1904();
setCellValue(DateUtil.getExcelDate(value, date1904));
}
@@ -209,11 +206,8 @@ public class SXSSFCell implements Cell
* precalculated value, for numerics we'll set its value. For othertypes we
* will change the cell to a numeric cell and set its value.
*/
- public void setCellValue(Calendar value)
- {
-//TODO: activate this when compiling against 3.7.
- //boolean date1904 = getSheet().getXSSFWorkbook().isDate1904();
- boolean date1904 = false;
+ public void setCellValue(Calendar value) {
+ boolean date1904 = getSheet().getWorkbook().isDate1904();
setCellValue( DateUtil.getExcelDate(value, date1904 ));
}
@@ -234,6 +228,9 @@ public class SXSSFCell implements Cell
}
((RichTextValue)_value).setValue(value);
+
+ if (((XSSFRichTextString)value).hasFormatting())
+ logger.log(POILogger.WARN, "SXSSF doesn't support Shared Strings, rich text formatting information has be lost");
}
/**
@@ -343,9 +340,7 @@ public class SXSSFCell implements Cell
}
double value = getNumericCellValue();
-//TODO: activate this when compiling against 3.7.
- //boolean date1904 = getSheet().getXSSFWorkbook().isDate1904();
- boolean date1904 = false;
+ boolean date1904 = getSheet().getWorkbook().isDate1904();
return DateUtil.getJavaDate(value, date1904);
}
@@ -603,8 +598,7 @@ public class SXSSFCell implements Cell
xssfobj.getCTHyperlink().setRef( ref.formatAsString() );
// Add to the lists
- ((SXSSFSheet)getSheet())._sh.addHyperlink(xssfobj);
-
+ getSheet()._sh.addHyperlink(xssfobj);
}
/**
@@ -614,7 +608,7 @@ public class SXSSFCell implements Cell
{
removeProperty(Property.HYPERLINK);
- ((SXSSFSheet) getSheet())._sh.removeHyperlink(getRowIndex(), getColumnIndex());
+ getSheet()._sh.removeHyperlink(getRowIndex(), getColumnIndex());
}
/**
Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFRow.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFRow.java?rev=1693633&r1=1693632&r2=1693633&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFRow.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFRow.java Fri Jul 31 17:23:01 2015
@@ -420,7 +420,7 @@ public class SXSSFRow implements Row
*
* @return the Sheet that owns this row
*/
- public Sheet getSheet()
+ public SXSSFSheet getSheet()
{
return _sheet;
}
Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFSheet.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFSheet.java?rev=1693633&r1=1693632&r2=1693633&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFSheet.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFSheet.java Fri Jul 31 17:23:01 2015
@@ -1344,7 +1344,7 @@ public class SXSSFSheet implements Sheet
*
* @return the parent workbook
*/
- public Workbook getWorkbook()
+ public SXSSFWorkbook getWorkbook()
{
return _workbook;
}
Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFWorkbook.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFWorkbook.java?rev=1693633&r1=1693632&r2=1693633&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFWorkbook.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFWorkbook.java Fri Jul 31 17:23:01 2015
@@ -622,7 +622,7 @@ public class SXSSFWorkbook implements Wo
* @return Sheet representing the new sheet.
*/
@Override
- public Sheet createSheet()
+ public SXSSFSheet createSheet()
{
return createAndRegisterSXSSFSheet(_wb.createSheet());
}
@@ -1122,6 +1122,10 @@ public class SXSSFWorkbook implements Wo
return _wb.getCreationHelper();
}
+ protected boolean isDate1904() {
+ return _wb.isDate1904();
+ }
+
/**
* @return <code>false</code> if this workbook is not visible in the GUI
*/
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org