Pdf conversiion throwing error-XMLStreamException: Unexpected end of input block in start tag

The issues you have found earlier (filed as CELLSJAVA-40517) have been fixed in this update.


This message was posted using Notification2Forum from Downloads module by Aspose Notifier.

Hi

The issue with special charecters in excel is not resolved even with latest version.

My excel file has special charecters like spanish ,chenese etc.

step 1: i am trying to refresh the excel pivot tables and save the excel again.

Workbook workbook = new Workbook(excelFileName);
//Workbook workbook1 = new Workbook(excelFileName);
workbook.calculateFormula(true);
int sheetCount = workbook.getWorksheets().getCount();
System.out.println(“sheet count…” + sheetCount);
for (int i = 0; i < sheetCount; i++) {
Worksheet ws = workbook.getWorksheets().get(i);
System.out.println(“worksheet name :”+ws.getName());
for (int k = 0; k < ws.getPivotTables().getCount(); k++) {
System.out.println(“in start…” + k);
ws.getPivotTables().get(k).setRefreshDataOnOpeningFile(true);
ws.getPivotTables().get(k).setRefreshDataFlag(true);
if (excelFileName.contains(“Extract”)) {

} else {
ws.getPivotTables().get(k).refreshData();
}
try {
ws.getPivotTables().get(k).calculateData();
} catch (Exception el) {
el.printStackTrace();

}
ws.getPivotTables().get(k).setRefreshDataFlag(false);

}

}

workbook.getSettings().setEncoding(Encoding.getUTF8());
workbook.save(excelFileName);
}catch(Exception e){
e.printStackTrace();
}

step2: i am trying to convert the saved excel to pdf

after performing step 1 if i try to open excel its throwing exception saying that

excel has unreadable content.

any suggestions?


Thanks



Hi,

Thanks for your posting and using Aspose.Cells for Java.

We were able to observe this issue using your code and source file. We have logged this issue in our database. We will look into it and resolve this issue. Once, the issue is resolved or we have some other update for you, we will let you know asap.

This issue has been logged as CELLSJAVA-40540.

Hi

Any update on this issue?

This is high priority issue from our side, Can you please provide the ETA for this defect?


Thanks

Hi,

Thanks for your posting and using Aspose.Cells for Java.

We are afraid, there is no update for you at this moment. However, we have logged your comment against this issue. Please spare us some time. Once, we will have some update for you, we will let you know asap.

Hi

Thanks for the reply.
Any news on the above issue ?


Thanks

Hi,


Sorry there is still no update on it. However, I have logged your concerns against your issue id “CELLSJAVA-40540”. I have asked the relevant developer to update on it or share an eta (if possible). Once we receive any response from him, we will let you know here immediately.

Sorry for any inconvenience caused!

Hi

any news on the issues?

Just for your reference, This is high priority issue for us, So please provide the ETA on this so that we can plan accordingly.



Thanks

Hi,

Thanks for your posting and using Aspose.Cells.

We are afraid, there is no update for you at this moment. However, we have logged your comment against this issue. We have requested the development team to provide ETA or update. Once, we will have some update for you, we will let you know asap.

Hi,


Please try the latest fix/version: Aspose.Cells for Java v7.5.0.2, we have fixed the issue now.

Let us know your feedback.

Thank you.

Thanks for the update.


Hi thanks for the reply and fix.

The exception while saving the file is fixed. now i am not getting any exception while opening excel after refreshing the pivot tables and saving it. But regarding data,

issue 1# the column headers are not coming up in PDF. (If i change the color to standard color instead of ribbon eg:RED its coming up ).
issue 2# some data is not coming up in PDF.
the higlighted data in excel with yellow color is coming wrongly in PDF. But if i see the print preview its coming up correctly.

Please look into these issues.

i am using the below code:

Workbook workbook = new Workbook(excelFileName);


// execute workbook formulas before pdf generation
//workbook.calculateFormula(true);

// Get the count of the worksheets in the workbook
int sheetCount = workbook.getWorksheets().getCount();
// loop through all wroksheets
for (int i = 0; i < sheetCount; i++) {
Worksheet ws = workbook.getWorksheets().get(i);
//if(excelFileName.contains(“Current_Plan”)){
//System.out.println(“current plan report block so skip the formatting…”);
//}else{

ws.autoFitRows();
ws.getPageSetup().setFitToPagesWide(10);
ws.getPageSetup().setFitToPagesTall(1);
ws.getPageSetup().setPaperSize(40);
ws.getPageSetup().setOrientation(1);
ws.getPageSetup().setZoom(20);
// }
ArrayList colsFromExcel1 = new ArrayList();
//if (excelFileName.contains(“Extract”)) {

Row row1 = ws.getCells().getRow(0);
Iterator im1 = row1.iterator();
while (im1.hasNext()) {
Cell cell = (Cell) im1.next();
colsFromExcel1.add(cell.getStringValue());
}
System.out.println(“cols size after formatting:”
+ colsFromExcel1.size());
//}

System.out.println(“in start…”);

for (int k = 0; k < ws.getPivotTables().getCount(); k++) {
System.out.println(“in start…”+k);
ws.getPivotTables().get(k)
.setRefreshDataOnOpeningFile(true);
ws.getPivotTables().get(k).setRefreshDataFlag(true);
if (excelFileName.contains(“Extract”)) {

} else {
ws.getPivotTables().get(k).refreshData();
}
try{
ws.getPivotTables().get(k).calculateData();
}catch(Exception el){
el.printStackTrace();

}
ws.getPivotTables().get(k).setRefreshDataFlag(false);
}


//if (excelFileName.contains(“Extract”)) {
for (int v = 0; v < colsFromExcel1.size(); v++) {
ws.autoFitColumn(v);
//ws.autoFitRows();
// if(v==0) continue;
System.out.println(“total count of rows:”+ws.getCells().getRows().getCount());
if(ws.getCells().getRows().getCount()==1 || ws.getCells().getRows().getCount()==0){
if(ws.getCells().getRows().getRowByIndex(0).get(v).getDisplayStringValue()!=""){
System.out.println(ws.getCells()
.getRows().getRowByIndex(0).getCellByIndex(v)
.getType());


// Style style = null;
StyleFlag flagin = null;
flagin = new StyleFlag();
Style style = workbook.getWorksheets().get(i)
.getCells().getRows().getRowByIndex(0)
.getStyle();
style.setCustom("@");
flagin.setNumberFormat(true);
// sheet.Cells.ApplyColumnStyle(dateCol.Column,
// style, flag);
ws.getCells()
.getColumns().getColumnByIndex(v)
.applyStyle(style, flagin);




}

}else{

if(ws.getCells().getRows().getRowByIndex(1).get(v).getDisplayStringValue()!=""){
System.out.println(ws.getCells()
.getRows().getRowByIndex(1).getCellByIndex(v)
.getType());


// Style style = null;
StyleFlag flagin = null;
flagin = new StyleFlag();
Style style = workbook.getWorksheets().get(i)
.getCells().getRows().getRowByIndex(1)
.getStyle();
style.setCustom("@");
flagin.setNumberFormat(true);
// sheet.Cells.ApplyColumnStyle(dateCol.Column,
// style, flag);
ws.getCells()
.getColumns().getColumnByIndex(v)
.applyStyle(style, flagin);




}

}

}

}
//}
PdfSaveOptions pdfSaveOptions = new PdfSaveOptions();
if(excelFileName.contains(“Current_Plan”)){
System.out.println(“current plan report block so one page per sheet enabled…”);
//pdfSaveOptions.setOnePagePerSheet(true);
}



workbook.save(getPdfFileName(excelFileName));

Hi

i am able to reproduce the Unreadable content exception again with another report.

exception:java.lang.IndexOutOfBoundsException: Index: 27, Size: 27
at java.util.ArrayList.RangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at com.aspose.cells.PivotFieldCollection.get(Unknown Source)
at com.aspose.cells.zs.m(Unknown Source)
at com.aspose.cells.zs.l(Unknown Source)
at com.aspose.cells.zs.a(Unknown Source)
at com.aspose.cells.aab.g(Unknown Source)
at com.aspose.cells.aab.b(Unknown Source)
at com.aspose.cells.aab.u(Unknown Source)
at com.aspose.cells.aab.a(Unknown Source)
at com.aspose.cells.aaa.a(Unknown Source)
at com.aspose.cells.Workbook.a(Unknown Source)
at com.aspose.cells.Workbook.a(Unknown Source)
at com.aspose.cells.Workbook.(Unknown Source)
at com.steelwedge.util.demo.generatePdfReport1(demo.java:76)
at com.steelwedge.util.demo.main(demo.java:515)


Please find the attached reports.


Thanks

Hi,

[quote user="cagrawal"]Hi

i am able to reproduce the Unreadable content exception again with another report.

exception:java.lang.IndexOutOfBoundsException: Index: 27, Size: 27
at java.util.ArrayList.RangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at com.aspose.cells.PivotFieldCollection.get(Unknown Source)
at com.aspose.cells.zs.m(Unknown Source)
at com.aspose.cells.zs.l(Unknown Source)
at com.aspose.cells.zs.a(Unknown Source)
at com.aspose.cells.aab.g(Unknown Source)
at com.aspose.cells.aab.b(Unknown Source)
at com.aspose.cells.aab.u(Unknown Source)
at com.aspose.cells.aab.a(Unknown Source)
at com.aspose.cells.aaa.a(Unknown Source)
at com.aspose.cells.Workbook.a(Unknown Source)
at com.aspose.cells.Workbook.a(Unknown Source)
at com.aspose.cells.Workbook.<init>(Unknown Source)
at com.steelwedge.util.demo.generatePdfReport1(demo.java:76)
at com.steelwedge.util.demo.main(demo.java:515)


Please find the attached reports.


Thanks
[/quote]

Thanks for providing us the sample files.


After an initial test, I got the exception:
"exception:java.lang.IndexOutOfBoundsException" on opening an XLSX file.

Sample code:

Workbook workbook = new Workbook("_Audit_Trail_Report1.xlsx");

I have logged a ticket with an id "CELLSJAVA-40552" for your issue. We will look into your issue soon.

Once we have any update on it, we will let you know here.

Thank you.


Thanks for quick reply.

i placed the screen shots in a word doc (with reference to your excel file out_xlsx1.xlsx) i hope this will help you out.


Thanks

Hi,


Well, it may not help much. Since you are using FitToPages Tall/Wide options in your code to render long list of data in a single page (e.g first page), so it would be hard to see the data properly in the print preview of MS Excel. We request you to kindly provide your expected Excel file and output PDF file here that you may create/save them manually in MS Excel, it may help us a bit to evaluate your issue properly.

Thank you.

Hi

Thanks for the reply.

i have two issues
1)i have pivot tables in my excel i want to refresh my excel to see the latest data.
if i refresh the excel and generate the pdf i am not seeing the column header for the table. (see the pdf Current_Plan_Report_WITHDATA_with privt refresh.pdf)

some invalid data is being displayed as “grand total"

try {

//License license = new License();
/String licenseFilePath = Config.get(“ApplicationPath”)+ Constants.FILE_SEPARATOR + “WEB-INF”
+ Constants.FILE_SEPARATOR + “lib”
+ Constants.FILE_SEPARATOR + “Aspose.Cells.lic”;
System.out.println(“PDF licenseFilePath is::”+licenseFilePath);
license.setLicense(licenseFilePath);
/

// load excel file
Workbook workbook = new Workbook(excelFileName);


// execute workbook formulas before pdf generation
// workbook.calculateFormula(true);

// Get the count of the worksheets in the workbook
int sheetCount = workbook.getWorksheets().getCount();
// loop through all wroksheets
for (int i = 0; i < sheetCount; i++) {
Worksheet ws = workbook.getWorksheets().get(i);
//if(excelFileName.contains(“Current_Plan”)){
// System.out.println(“current plan report block so skip the formatting…”);
//}else{

// ws.autoFitRows();
// ws.getPageSetup().setFitToPagesWide(10);
// ws.getPageSetup().setFitToPagesTall(1);
// ws.getPageSetup().setPaperSize(40);
// ws.getPageSetup().setOrientation(1);
// ws.getPageSetup().setZoom(20);
// }
ArrayList colsFromExcel1 = new ArrayList();
//if (excelFileName.contains(“Extract”)) {

Row row1 = ws.getCells().getRow(0);
Iterator im1 = row1.iterator();
while (im1.hasNext()) {
Cell cell = (Cell) im1.next();
colsFromExcel1.add(cell.getStringValue());
}
System.out.println(“cols size after formatting:”
+ colsFromExcel1.size());
//}

System.out.println(“in start…”);

for (int k = 0; k < ws.getPivotTables().getCount(); k++) {
System.out.println(“in start…”+k);
ws.getPivotTables().get(k)
.setRefreshDataOnOpeningFile(true);
ws.getPivotTables().get(k).setRefreshDataFlag(true);
if (excelFileName.contains(“Extract”)) {

} else {
ws.getPivotTables().get(k).refreshData();
}
try{
ws.getPivotTables().get(k).calculateData();
}catch(Exception el){
el.printStackTrace();

}
ws.getPivotTables().get(k).setRefreshDataFlag(false);
}


//if (excelFileName.contains(“Extract”)) {
for (int v = 0; v < colsFromExcel1.size(); v++) {
ws.autoFitColumn(v);
// ws.autoFitRows();
// if(v==0) continue;
System.out.println(“total count of rows:”+ws.getCells().getRows().getCount());
if(ws.getCells().getRows().getCount()==1 || ws.getCells().getRows().getCount()==0){
if(ws.getCells().getRows().getRowByIndex(0).get(v).getDisplayStringValue()!=”"){
System.out.println(ws.getCells()
.getRows().getRowByIndex(0).getCellByIndex(v)
.getType());


// Style style = null;
StyleFlag flagin = null;
flagin = new StyleFlag();
Style style = workbook.getWorksheets().get(i)
.getCells().getRows().getRowByIndex(0)
.getStyle();
style.setCustom("@");
flagin.setNumberFormat(true);
// sheet.Cells.ApplyColumnStyle(dateCol.Column,
// style, flag);
ws.getCells()
.getColumns().getColumnByIndex(v)
.applyStyle(style, flagin);




}

}else{

if(ws.getCells().getRows().getRowByIndex(1).get(v).getDisplayStringValue()!=""){
System.out.println(ws.getCells()
.getRows().getRowByIndex(1).getCellByIndex(v)
.getType());


// Style style = null;
StyleFlag flagin = null;
flagin = new StyleFlag();
Style style = workbook.getWorksheets().get(i)
.getCells().getRows().getRowByIndex(1)
.getStyle();
style.setCustom("@");
flagin.setNumberFormat(true);
// sheet.Cells.ApplyColumnStyle(dateCol.Column,
// style, flag);
ws.getCells()
.getColumns().getColumnByIndex(v)
.applyStyle(style, flagin);




}

}

}

}
//}
PdfSaveOptions pdfSaveOptions = new PdfSaveOptions();
if(excelFileName.contains(“Current_Plan”)){
System.out.println(“current plan report block so one page per sheet enabled…”);
// pdfSaveOptions.setOnePagePerSheet(true);
}



workbook.save(getPdfFileName(excelFileName));

} catch (Exception ex) {
System.out.println(“pdf exception:” + StackTraceUtil.getStackTrace(ex));
return false;
}



2) if i am not refreshing the excel and generating the pdf i am able to see the data but not able to see the latest data.
(see the pdf Current_Plan_Report_WITHDATA_without pivot refresh.pdf)

sample code:

try {
Workbook workbook = new Workbook(filename);
workbook.save(getPdfFileName(filename)) ;
} catch (Exception e) {
// TODO Auto-generated catch block


}



i am attaching the excel file from which i am generating the pdf.




Hi,

Thanks for the files.

Well, I think your pivot table cannot be refreshed properly whose source is based on some external data ranges which is not supported in the product at the moment. Do you confirm this? MS Excel also cannot perform "Refresh All" operation for the pivot table. And a ticket is already logged with an id "CELLSJAVA-40406" which is not fixed yet.

Thank you.

hi

Yes , we have pivot tables in excel for which the source will come from another sheet in same excel.




we can use refreshOnOPen=true in excel to refresh the excel pivot tables and other things to see the latest data which is not working for pdf generation Because aspose is generating the pdf before using the refreshonopen=true (see the excel which is generated).

how can i fix this issue is thre any other way to generate pdf with all the contents?

is thre any expected date for the issue CELLSJAVA-40406.??


Thanks



Hi,


Thanks for providing us details.

I have logged your provided details against your issue id “CELLSJAVA-40406” into our database. Our concerned developer will look into it soon. Unless we analyze your issue in details we cannot provide any eta or update on it. Hopefully, our developer will investigate the issue soon.

Once we have any update on it, we will update you here.

Thank you.