I use EPPlus to export excel 2007 file. The file can export normally but i have some problem with setting column format. My string column with numeric style (Purchase Order No. ex. 49000001) be exported with green tag on the top left of the each cell, How can i remove it?
I try to set number format to "General" but it's not work
Please help.
p.s i use C#
EPPLus does not currently support disabling that green tag. However, it is possible to modify the project in order to suppress it. First you will need to add a new class to the project, ExcelIgnoredError.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
namespace OfficeOpenXml
{
public class ExcelIgnoredError : XmlHelper
{
private ExcelWorksheet _worksheet;
/// <summary>
/// Constructor
/// </summary>
internal ExcelIgnoredError(XmlNamespaceManager ns, XmlNode node, ExcelWorksheet xlWorkSheet) :
base(ns, node)
{
_worksheet = xlWorkSheet;
}
public bool NumberStoredAsText
{
get
{
return GetXmlNodeBool("@numberStoredAsText");
}
set
{
SetXmlNodeBool("@numberStoredAsText", value);
}
}
public bool TwoDigitTextYear
{
get
{
return GetXmlNodeBool("@twoDigitTextYear");
}
set
{
SetXmlNodeBool("@twoDigitTextYear", value);
}
}
public string Range
{
get
{
return GetXmlNodeString("@sqref");
}
set
{
SetXmlNodeString("@sqref", value);
}
}
}
}
Next you will need to modify ExcelWorkSheet.cs, adding this code:
public ExcelIgnoredError _ignoredError;
public ExcelIgnoredError IgnoredError
{
get
{
if (_ignoredError == null)
{
// Check that ignoredErrors exists
XmlNode node = TopNode.SelectSingleNode("d:ignoredErrors", NameSpaceManager);
if (node == null)
{
CreateNode("d:ignoredErrors");
}
//Check that ignoredError exists
node = TopNode.SelectSingleNode("d:ignoredErrors/d:ignoredError", NameSpaceManager);
if (node == null)
{
CreateNode("d:ignoredErrors/d:ignoredError");
node = TopNode.SelectSingleNode("d:ignoredErrors/d:ignoredError", NameSpaceManager);
}
_ignoredError = new ExcelIgnoredError(NameSpaceManager, node, this);
}
return (_ignoredError);
}
}
Compile the EPPPlus solution, include it in your project and you will be able to remove the tags using code similar to this:
//Get a reference to the worksheet
ExcelWorkSheet sheet = package.WorkBook.WorkSheets(0);
//Set the cell range to ignore errors on to the whole sheet
sheet.IgnoredError.Range = Sheet.Dimension.Address;
//Do not display the warning 'number stored as text'
sheet.IgnoredError.NumberStoredAsText = true;