We're sorry Aspose doesn't work properply without JavaScript enabled.

Free Support Forum - aspose.com

Error Processes Smart Tags for 65K rows

We have tried to upgrad to the latest Dll 5.1.3 to handle processing smart tags for rows over 65K limit of excel 2003, the problem is we are encoutering a generic System.NullException on the following line but we only get this error if the data set containes over 65K records:

template.Process(template.Workbook.Worksheets["Data"].Index, false);

here is the complete code snippet:

var template = new WorkbookDesigner();
//template.Workbook.Open(inFile);
//template.Workbook.Open(new MemoryStream(fileBytes), FileFormatType.Excel2007Xlsm);

template.Workbook = new Workbook(new MemoryStream(fileBytes), new LoadOptions(LoadFormat.Xlsx));

//Insert data for each dataset
var nodata = false;
foreach(var dataSet in dataSets)
{
var pivotData = dataSet.Value.GetData(requestId, dataSet.Key);
if(pivotData.Count < 1)
{
nodata = true;
continue;
}
nodata = false;
template.SetDataSource(pivotData[0].GetClassName(), pivotData);
template.Process(template.Workbook.Worksheets["Data"].Index, false);
template.Workbook.Worksheets["Data"].AutoFitColumns();
}

You can test this with a excel template that has 1 smart tag that contains a repetition calculation.

TIA

Paul

Hi,

I have tested your scenario with the following sample code and attached template file, it works fine. I have used latest version/fix v5.1.3.7.

DataTable dt = new DataTable(“ITEM”);
dt.Columns.Add(“Per_Nom”, typeof(int));
dt.Columns.Add(“Per_Prenom”);
for (int i = 0; i < 70000; i++)
{
dt.Rows.Add(new object[] { i, "Lasten " + i.ToString()});
}


Aspose.Cells.WorkbookDesigner designer = new Aspose.Cells.WorkbookDesigner();
designer.Workbook = new Workbook(“e:\test\Testing_i.xlsx”);
designer.SetDataSource(dt);
designer.Process(0,false);
designer.Workbook.Worksheets[0].AutoFitColumns();
designer.Workbook.Save(“e:\test\Result_Testing_i.xlsx”, SaveFormat.Xlsx);

Please try the attached version, if you still find the, kindly do create a sample console application, zip it and post it here, to show the issue. We will check it soon.

Thank you.

thanks for the update but the dll did not help. this is the stack trace of the error i recieve now.

Stack Trace:

[OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.]
   Aspose.Cells.Row.ق(Int32 ت, Boolean& ᄶ) +359
   Aspose.Cells.Row.ق(Int32 ت) +28
   Aspose.Cells.Cells.ࢽ(Int32 ٺ, Int32 ߇) +360
   Aspose.Cells.Cells.InsertRows(Int32 rowIndex, Int32 totalRows) +646
   Aspose.Cells.Cells.InsertRows(Int32 rowIndex, Int32 totalRows, Boolean updateReference) +29
   Aspose.Cells.WorkbookDesigner.݄(Cells ࠡ, Int32 ة, Int32 ᒌ) +32
   Aspose.Cells.WorkbookDesigner.䥍(Cells ࠡ, Int32 ة, ArrayList 䥃) +483
   Aspose.Cells.WorkbookDesigner.䥐(Int32 װ, Boolean 䥋) +202
   Aspose.Cells.WorkbookDesigner.Process(Int32 sheetIndex, Boolean isPreserved) +18

there are some coding differences that you have:

1. you are not loading data into a pivot table in the excel file/template.

2. you do not have any smart tag references such as the following in the excel file

&=&=IF(Sum(A{r})=0,0,Sum(B{r})/Sum(A{r}))

got the memory resolved by closing some applications but i still am getting this error now

[NullReferenceException: Object reference not set to an instance of an object.]
ፓ.ፒ.݄(Int32 ٺ, Int32 ߇, Worksheet ׯ) +651
ፓ.᎔.݄(Int32 ة, Int32 ߅, Worksheet ׯ) +84
Aspose.Cells.Cells.InsertRows(Int32 rowIndex, Int32 totalRows) +2478
Aspose.Cells.Cells.InsertRows(Int32 rowIndex, Int32 totalRows, Boolean updateReference) +78
Aspose.Cells.WorkbookDesigner.݄(Cells ࠡ, Int32 ة, Int32 ᒌ) +84
Aspose.Cells.WorkbookDesigner.䥍(Cells ࠡ, Int32 ة, ArrayList 䥃) +1024
Aspose.Cells.WorkbookDesigner.䥐(Int32 װ, Boolean 䥋) +572
Aspose.Cells.WorkbookDesigner.Process(Int32 sheetIndex, Boolean isPreserved) +47

i cannot attach the template i am using as it is confidential to the company.

Hi,

Well, I am afraid, we need to have your Template File to at least investigate your issue. You can make this post private clicking the ‘Make Private’ command button, now only you and Aspose staff members would be able to see/download your attachments (all other users cannot see/download your attachments here). Alternatively, I think you may send us the template file via email, see the steps how you may post us the sample project / template file:

To email (with your attachment(s)), please follow the below mentioned steps:

1: click the Contact button in the Post

2: In the drop down list options click "Send Amjad Sahi an Email”.

3: Attach the project and send it (you may zip the project/file prior attaching it).

4: Once you have done it, kindly confirm us here in this thread.


Thank you.

There has to be some processing differences in the Dlls as i got it working by downgrading my DLLs back to 4.8.2.10 from the version you sent and it works.