Author: fanningpj
Date: Thu Feb 13 10:53:16 2025
New Revision: 1923780
URL: http://svn.apache.org/viewvc?rev=1923780&view=rev
Log:
[bug-69583] when copying cells with dates - prefer using the numeric data
directly
Modified:
poi/trunk/poi/src/main/java/org/apache/poi/ss/usermodel/DateUtil.java
poi/trunk/poi/src/test/java/org/apache/poi/ss/util/BaseTestCellUtilCopy.java
Modified: poi/trunk/poi/src/main/java/org/apache/poi/ss/usermodel/DateUtil.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/ss/usermodel/DateUtil.java?rev=1923780&r1=1923779&r2=1923780&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/ss/usermodel/DateUtil.java
[UTF-8] (original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/ss/usermodel/DateUtil.java
[UTF-8] Thu Feb 13 10:53:16 2025
@@ -727,6 +727,7 @@ public class DateUtil {
case 0x0f:
case 0x10:
case 0x11:
+ // the 0x12 to 0x15 formats are time (only) formats
case 0x12:
case 0x13:
case 0x14:
Modified:
poi/trunk/poi/src/test/java/org/apache/poi/ss/util/BaseTestCellUtilCopy.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi/src/test/java/org/apache/poi/ss/util/BaseTestCellUtilCopy.java?rev=1923780&r1=1923779&r2=1923780&view=diff
==============================================================================
---
poi/trunk/poi/src/test/java/org/apache/poi/ss/util/BaseTestCellUtilCopy.java
(original)
+++
poi/trunk/poi/src/test/java/org/apache/poi/ss/util/BaseTestCellUtilCopy.java
Thu Feb 13 10:53:16 2025
@@ -146,6 +146,33 @@ public abstract class BaseTestCellUtilCo
wb.close();
}
+ @Test
+ public final void testCopyCellTime() throws IOException {
+ try(
+ Workbook srcWb = createNewWorkbook();
+ Workbook destWb = createNewWorkbook()
+ ) {
+ final Row rowS = srcWb.createSheet("Sheet1").createRow(0);
+ final Row rowD = destWb.createSheet("Sheet1").createRow(0);
+ srcCell = rowS.createCell(0);
+ destCell = rowD.createCell(0);
+
+ srcCell.setCellValue(22.0/24.0);
+
+ final CellStyle style = srcWb.createCellStyle();
+ style.setDataFormat((short) 0x12); // time format
+ srcCell.setCellStyle(style);
+
+ final CreationHelper createHelper = srcWb.getCreationHelper();
+
+ final CellCopyPolicy policy = new CellCopyPolicy.Builder().build();
+ CellUtil.copyCell(srcCell, destCell, policy, new
CellCopyContext());
+
+ assertEquals(srcCell.getNumericCellValue(),
destCell.getNumericCellValue());
+ assertEquals(srcCell.getCellStyle().getDataFormatString(),
destCell.getCellStyle().getDataFormatString());
+ }
+ }
+
private void setUp_testCopyCellFrom_CellCopyPolicy() {
@SuppressWarnings("resource")
final Workbook wb = createNewWorkbook();
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]