Quantcast
Channel: EPPlus Issue Tracker Rss Feed
Viewing all 2262 articles
Browse latest View live

Commented Unassigned: DataValidation element cannot be created (resulting in corrupt file) [15546]

$
0
0
I am usung a file that has a datavalidation element. When I load that file and remove the existing DataValidation item then the root item "DataValidations" will be removed. That is ok.
But when I add a new DataValidation item then the internal function "ExcelDataValidation.cs" -> "EnsureRootElementExists()" will not create the required "DataValidations" item.
I am using the following workaround:
```
private void EnsureRootElementExists()
{
var node = _worksheet.WorksheetXml.SelectSingleNode(DataValidationPath, _worksheet.NameSpaceManager);
if (node == null)
{
TopNode = _worksheet.WorksheetXml.DocumentElement; // This line fixes the problem
CreateNode(DataValidationPath.TrimStart('/'));
}
}
```

The problem is that "CreateNode" requires "TopNode" to be the sheet. TopNode is overwritten by "GetRootNode".
Comments: The correct file is "ExcelDataValidationCollection.cs" -> "private void EnsureRootElementExists()"

Created Unassigned: When a version for .NET Core too [15624]

$
0
0
We are moving on .NET Core, and like many others the migration issues is not about if our custom code can migrate on .NET Core, but if the third part library already have a version working on .Net Core.

To our checklist the only remaining third part library is about EPPLUS, and no other library is so amazing like this one in .NET world.

Have you plan to migrate to .NET Core the project?

Edited Unassigned: When a version for .NET Core too [15624]

$
0
0
We are moving on .NET Core, and like many others the migration issues is not about if our custom code can migrate on .NET Core, but if the third part library already have a version working on .Net Core.

To our checklist the only remaining third part library is about EPPLUS, and no other library is so amazing like this one in .NET world.

Have you plan to migrate to .NET Core the project?

Commented Unassigned: When a version for .NET Core too [15624]

$
0
0
We are moving on .NET Core, and like many others the migration issues is not about if our custom code can migrate on .NET Core, but if the third part library already have a version working on .Net Core.

To our checklist the only remaining third part library is about EPPLUS, and no other library is so amazing like this one in .NET world.

Have you plan to migrate to .NET Core the project?
Comments: Yes, next version will be core compatible. If you want to test it try the Core branch,

Commented Unassigned: Considering migrating away from CodePlex [15618]

$
0
0
CodePlex is about to be shut down.
Are you considering to migrate your projet to another platform (like GitHub) ?
Comments: Yes, we'll move to Github. Probably in a few months.

Commented Unassigned: .NET Core Support [15472]

$
0
0
now that we have the new NET Platform Standard system and .net core rc2 might be the time for this features?
Comments: Core compatibility will come in the next version. Anyone who wants to test it, please clone the Core bransch. The biggest change is the native support for compound documents (used winapi before), so this mainly effects encryption and VBA support.

Commented Unassigned: Considering migrating away from CodePlex [15618]

$
0
0
CodePlex is about to be shut down.
Are you considering to migrate your projet to another platform (like GitHub) ?
Comments: Sorry, I did not saw it ! This issue can be closed, then. Thank you.

Commented Unassigned: When a version for .NET Core too [15624]

$
0
0
We are moving on .NET Core, and like many others the migration issues is not about if our custom code can migrate on .NET Core, but if the third part library already have a version working on .Net Core.

To our checklist the only remaining third part library is about EPPLUS, and no other library is so amazing like this one in .NET world.

Have you plan to migrate to .NET Core the project?
Comments: Great! Because i have to plan my roadmap, do you have an idea on how many month you will release stable version?

Created Unassigned: Alignment and wrapping error while opening file in LibreOffice [15625]

$
0
0
I create XLSX file using the newest version of EPPLus. Some of columns are aligned to the left (default). That file opened in the OpenOffice Calc and in the MS Excel saves the formating. The same file opened in LibreOffice Calc has columns aligned to center and those columns don't fit text size.

In attachment you can find an example XLSX file.

Below you can find screens - the same file opened in OpenOffice, MS Office and Libre Office.

https://drive.google.com/open?id=0B4lK1oLt3Jj-b3N5ZENfYlJHeVE
https://drive.google.com/open?id=0B4lK1oLt3Jj-MmVPNC00NEdWUWc
https://drive.google.com/open?id=0B4lK1oLt3Jj-X3BFdGRjMDZWc1k

Could you help me with this problem in the LibreOffice ?

Wieslaw

Created Unassigned: workSheet.Dimension.End.Column throws null reference for empty worksheets [15626]

$
0
0
When trying to find the last column in a empty worksheet using...

var lastColumn = sheet.Dimension.End.Column;

...a null reference error occurs (none of sheet, .Dimension or .End are null) as consequence of calling the integer property .Column.

This appears to be consistent for empty worksheets that have never had any data added to them.

Created Unassigned: Column width cannot be set [15627]

$
0
0
I am attempting to size the width of columns as displayed in the example below. The do not always adhere to the width selected. Originally I thought this issue began with trying to set the column widths of upwards to 20 columns, but I have found that even ten columns will show my issue. Am I setting the column widths incorrectly?


ws.Column(1).Width = 10.43;
ws.Column(2).Width = 9.57;
ws.Column(3).Width = 8.71;
ws.Column(4).Width = 8.57;

Commented Issue: Use of System.IO.Packaging is not server-safe [14762]

$
0
0
The BCL System.IO.Packaging uses IsolatedFileStorage when the zipped XLSX file exceeds some specific boundary (I've heard different stories of 1.3MB, 7MB, and 10MB). This presents a variety of issues when running under IIS, whether running under NetworkService or AppPoolIdentity. It's also not thread-safe.

I strongly recommend implementing an alternative packager using a compatible open-source ZIP library such as SharpZipLib or DotNetZip, otherwise people trying to use this to create sizable Excel files server-side are going to have numerous problems, as I've had recently.

As an aside, I'm currently trying out setting the legacyCasMode to True for my IIS application as a workaround, but I don't know yet if this has any effect. It's certainly not ideal.
Comments: EPPlus has switched to DotnetZip in 4.0 Release. From changelog: New features 4.0 Replaced Packaging API with DotNetZip * This will remove any problems with Isolated Storage and enable multithreading

Created Unassigned: Exception in ExcelFontXml.GetHeightByName [15628]

$
0
0
Exception occurred for missing key in OfficeOpenXml.Style.XmlAccess.ExcelFontXml.GetHeightByName(string name, float size).

This occurred when processing an Excel file generated using SSRS that contained a chart. Going up the stack, the method was called using default name = "Calibri", size = 0, from the method ExcelDrawingBase.GetRowHeightFromCellFonts(int row, ExcelWorksheet ws), where f.Name = "", f.Size = 0.

The issue is clear because the dictionary contains keys of font sizes from 6 to 256, but when size = 0, the "min" variable is never changed from its initial value of -1, causing the exception to be thrown on FontSize.FontHeights[name][min].

A possible fix for the method is below, and I intentionally did not include Linq extensions so the code is pretty basic following the pattern that is already there:

```
private static float GetHeightByName(string name, float size)
{
if (FontSize.FontHeights[name].ContainsKey(size))
{
return FontSize.FontHeights[name][size].Height;
}
else
{
float min = -1, max = 500;
__float minKey = 500, maxKey = -1;__
foreach (var h in FontSize.FontHeights[name])
{
__ if (h.Key < minKey)
{
minKey = h.Key;
}
if (h.Key > maxKey)
{
maxKey = h.Key;
}__
if (min < h.Key && h.Key < size)
{
min = h.Key;
}
if (max > h.Key && h.Key > size)
{
max = h.Key;
}
}
__ if (!FontSize.FontHeights[name].ContainsKey(min))
{
min = minKey;
}
if (!FontSize.FontHeights[name].ContainsKey(max))
{
max = maxKey;
}__
if (min == max)
{
return Convert.ToSingle(FontSize.FontHeights[name][min].Height);
}
else
{
return Convert.ToSingle(FontSize.FontHeights[name][min].Height + (FontSize.FontHeights[name][max].Height - FontSize.FontHeights[name][min].Height) * ((size - min) / (max - min)));
}
}
}
```

Edited Unassigned: Exception in ExcelFontXml.GetHeightByName [15628]

$
0
0
Exception occurred for missing key in OfficeOpenXml.Style.XmlAccess.ExcelFontXml.GetHeightByName(string name, float size).

This occurred when processing an Excel file generated using SSRS that contained a chart. Going up the stack, the method was called using default name = "Calibri", size = 0, from the method ExcelDrawingBase.GetRowHeightFromCellFonts(int row, ExcelWorksheet ws), where f.Name = "", f.Size = 0.

The issue is clear because the dictionary contains keys of font sizes from 6 to 256, but when size = 0, the "min" variable is never changed from its initial value of -1, causing the exception to be thrown on FontSize.FontHeights[name][min].

A possible fix for the method is below, and I intentionally did not include Linq extensions so the code is pretty basic following the pattern that is already there:

```
private static float GetHeightByName(string name, float size)
{
if (FontSize.FontHeights[name].ContainsKey(size))
{
return FontSize.FontHeights[name][size].Height;
}
else
{
float min = -1, max = 500;
float minKey = 500, maxKey = -1;
foreach (var h in FontSize.FontHeights[name])
{
if (h.Key < minKey)
{
minKey = h.Key;
}
if (h.Key > maxKey)
{
maxKey = h.Key;
}
if (min < h.Key && h.Key < size)
{
min = h.Key;
}
if (max > h.Key && h.Key > size)
{
max = h.Key;
}
}
if (!FontSize.FontHeights[name].ContainsKey(min))
{
min = minKey;
}
if (!FontSize.FontHeights[name].ContainsKey(max))
{
max = maxKey;
}
if (min == max)
{
return Convert.ToSingle(FontSize.FontHeights[name][min].Height);
}
else
{
return Convert.ToSingle(FontSize.FontHeights[name][min].Height + (FontSize.FontHeights[name][max].Height - FontSize.FontHeights[name][min].Height) * ((size - min) / (max - min)));
}
}
}
```

Created Unassigned: Corrupt file when image added. [15629]

$
0
0
Without changing anything Excel now claims that the XLSX files created by EPPlus are corrupted as soon as an image has been added. This happened in Excel 2007 and Excel 2016 on two different machines. I opened the zipped XLSX and everything seems to look fine (image is in media folder). Here is the message after the repair attempt: "Reparierte Datensätze: Zeichnung von /xl/drawings/drawing2.xml-Part (Zeichnungsform)"(unfortunately only in German). The image is a JPG. Did MS drop JPG as an allowed format? See generated file as attachment.

Commented Unassigned: Corrupt file when image added. [15629]

$
0
0
Without changing anything Excel now claims that the XLSX files created by EPPlus are corrupted as soon as an image has been added. This happened in Excel 2007 and Excel 2016 on two different machines. I opened the zipped XLSX and everything seems to look fine (image is in media folder). Here is the message after the repair attempt: "Reparierte Datensätze: Zeichnung von /xl/drawings/drawing2.xml-Part (Zeichnungsform)"(unfortunately only in German). The image is a JPG. Did MS drop JPG as an allowed format? See generated file as attachment.
Comments: Note: I just changed my code to include bitmaps instead of jpgs and the files are fine again.

Commented Unassigned: Corrupt file when image added. [15629]

$
0
0
Without changing anything Excel now claims that the XLSX files created by EPPlus are corrupted as soon as an image has been added. This happened in Excel 2007 and Excel 2016 on two different machines. I opened the zipped XLSX and everything seems to look fine (image is in media folder). Here is the message after the repair attempt: "Reparierte Datensätze: Zeichnung von /xl/drawings/drawing2.xml-Part (Zeichnungsform)"(unfortunately only in German). The image is a JPG. Did MS drop JPG as an allowed format? See generated file as attachment.
Comments: Funny enough the images are still saved as jpg files in the XLSX zip (/_xl/media) folder. That's quite confusing.

Created Unassigned: NRE when getting ExcelRange.Text from custom formatted cells [15630]

$
0
0
See attached example file.
It can read Value but when trying to get Text throws NRE.

Commented Unassigned: When a version for .NET Core too [15624]

$
0
0
We are moving on .NET Core, and like many others the migration issues is not about if our custom code can migrate on .NET Core, but if the third part library already have a version working on .Net Core.

To our checklist the only remaining third part library is about EPPLUS, and no other library is so amazing like this one in .NET world.

Have you plan to migrate to .NET Core the project?
Comments: Good to hear, I wrapped EPPlus in PowerShell https://github.com/dfinke/ImportExcel I'm now kicking the tires on the new PowerShell V6.0 Beta. I will give the `core` branch a try. Looking forward to this being on GitHub too. Thanks for staying committed to moving this library forward. Doug

Created Unassigned: Formula which includes cell ref like "A:B" cannot copy correctly. [15631]

$
0
0
```
// with
cell1.Formula == "VLOOKUP(C1, A:B, 2)"
// do
cell1.Copy(cell2)
// then
cell2.Formula == "VLOOKUP(C2, #REF!, 2)"
```

It is probrem of `ExcelCellBase::UpdateFormulaReferences()` or `ExcelAddressBase` called by `ExcelRangeBase::Copy`.

I think that `ExcelAddressBase` recognizes "A:B" as "A1:B1048576", so, `cell1.Copy(cell2)` makes "A2:B1048577" and B1048577 causes "#REF!".

I think that it is good to correct ExcelAddressBase so that "A: B" is recognized as "A$1:B$1048576", but I do not have confidence to correct it properly.

Viewing all 2262 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>