[Bug 62710] SXSSFSheet.autoSizeColumn() doesn't run well for Asian characters.

2018-09-12 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=62710

kevin  changed:

   What|Removed |Added

 CC||kevin.kan...@gmail.com

--- Comment #1 from kevin  ---
Created attachment 36149
  --> https://bz.apache.org/bugzilla/attachment.cgi?id=36149=edit
Column A which contains Japanese characters

Column A which contains Japanese characters is set to smaller width than
expected.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-
To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org
For additional commands, e-mail: dev-h...@poi.apache.org



Re: Apache POI

2018-09-12 Thread pj.fanning
Could you raise a bugzilla issue and attach an xlsb file?
https://bz.apache.org/bugzilla/

xlsb is not an active area of development, I'm afraid. 



--
Sent from: http://apache-poi.1045710.n5.nabble.com/POI-Dev-f2312866.html

-
To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org
For additional commands, e-mail: dev-h...@poi.apache.org



[Bug 62711] New: Calling shiftRows corrupts file in POI 4.0

2018-09-12 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=62711

Bug ID: 62711
   Summary: Calling shiftRows corrupts file in POI 4.0
   Product: POI
   Version: 4.0.0-FINAL
  Hardware: PC
Status: NEW
  Severity: normal
  Priority: P2
 Component: XSSF
  Assignee: dev@poi.apache.org
  Reporter: norman.gy...@bauholding.com
  Target Milestone: ---

Hi

This code produces a corrupt XLSX with POI 4.0 (works fine in 3.17):

ByteArrayOutputStream os = new ByteArrayOutputStream();
try (Workbook workbook = new XSSFWorkbook()) {
   Sheet worksheet =
workbook.createSheet(WorkbookUtil.createSafeSheetName("Export"));
   for (int rowNum = 0; rowNum < 900; rowNum++) {
  Row row = worksheet.createRow(rowNum);
  int colNum = 0;
  for (Object cellValue : Arrays.asList(new Object(),0,0,0,0,0,0,0,0)) {
 row.createCell(colNum++);
  }
   }
   worksheet.shiftRows(0, worksheet.getLastRowNum(), 3);
   workbook.write(os);
}

If I leave out the shiftRows, everything works fine.
It doesn't matter if I write values into the cells or not, the result is the
same.

running Java 8, POI 4.0, Windows 10, Excel 2016

Error when opening in Excel:
Removed Records: Cell information from /xl/worksheets/sheet1.xml part

-- 
You are receiving this mail because:
You are the assignee for the bug.
-
To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org
For additional commands, e-mail: dev-h...@poi.apache.org



[Bug 62710] New: SXSSFSheet.autoSizeColumn() doesn't run well for Asian characters.

2018-09-12 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=62710

Bug ID: 62710
   Summary: SXSSFSheet.autoSizeColumn()  doesn't run well for
Asian characters.
   Product: POI
   Version: 3.17-FINAL
  Hardware: PC
Status: NEW
  Severity: enhancement
  Priority: P2
 Component: SXSSF
  Assignee: dev@poi.apache.org
  Reporter: kevin.kan...@gmail.com
  Target Milestone: ---

the width of the column is always smaller that expected when the value of cells
contains Asian Characters.

*same error exists in version 4.0.0 Final.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-
To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org
For additional commands, e-mail: dev-h...@poi.apache.org



Apache POI

2018-09-12 Thread dejan ikodinovic
Hi guys,

I m working on parsing Excel xlsb files using Apache POI 3.17 version and
have problem for some numbers.
The problem is reading some numbers with 7 - 9 digits result as 0. This is
not the case for all 7 - 9 digits numbers.

for numbers like
100, 1000, 188, 1880400 it works correct, but one example where
I get 0 is *1880450*.

-- *GOOD *
-
With debug I found for *1880400* read as byte array
[0, 0, 0, 0, 80, -79, 60, 65]

this is correct I also checked with java code as:

System.out.println(
ByteBuffer.wrap(new byte[] { 65, 60, -79, 80, 0, 0, 0, 0 })
.getDouble());

and it outputs 1880400.0

also when read bytes like

ByteBuffer.allocate(8).putDouble(1880400).array()

[65, 60, -79, 80, 0, 0, 0, 0]
same as with *XSSFBParser*

-- *BAD*
-

but *XSSFBParser* when read bytes for *1880450* returns array
[0, 0, 0, 0, 10, -58, 114, 0]

and when I check with

ByteBuffer.allocate(8).putDouble(1880450).array()

[65, 60, -79, -126, 0, 0, 0, 0]
and this is correct byte array, but we dont get these bytes when read from
InputStream

I guess this wrong read bytes comes from

LittleEndianInputStream in XSSFBParser

Just to mention that I saw you've released new Version 4.0.0 and tried it
as well and problem still exists. It reads 0 value for 1880450.

Any idea (advice, help) what could be problem and how I can fix this?
Many thanks in advance!!!

Cheers,
Dejan