相关疑难解决方法(0)

Epplus的例子`LoadFromCollection <T>(IEnumerable <T>,Boolean,TableStyles,BindingFlags,MemberInfo [])`

使用Epplus ExcelPackage时,我通常使用基本LoadFromCollection函数来填充工作表,就像这样:

worksheet.Cells[1, 1].LoadFromCollection(Collection:data, PrintHeaders:true);
Run Code Online (Sandbox Code Playgroud)

这个网站上,我看到了该函数的其他重载列表,但没有具体的例子.这个看起来很有趣.有人可以提供使用此函数重载的基本示例吗?

LoadFromCollection<T>(IEnumerable<T> Collection, Boolean PrintHeaders,
      TableStyles TableStyle, BindingFlags memberFlags, MemberInfo[] Members)
Run Code Online (Sandbox Code Playgroud)

我可以通过点击API看到" TableStyles "是一个可以像这样分配的枚举:

TableStyles TableStyle = OfficeOpenXml.Table.TableStyles.Medium1;
Run Code Online (Sandbox Code Playgroud)

这些memberFlagsMembers参数对我来说仍然是一个谜.

c# epplus

6
推荐指数
1
解决办法
1万
查看次数

使用OpenXML和SAX模板

我正在使用使用Open XML SDK解析和读取大型Excel文件中提出的SAX方法从数据表创建一个大型XLSX文件.我正在使用XLSX文件作为模板.

该帖子中描述的方法可以很好地替换现有的工作表,但我想从模板中的工作表中复制标题行(字符串值,格式等),而不是仅使用标题行来自像原始代码那样的数据表.

我已经尝试了下面的代码,但XLSX文件最终在标题行中没有文本 - 格式化被复制,而不是文本.我查看了表格的XML文件,它看起来不错(引用sharedStrings.xml文件,它仍然具有字符串的定义).来自Open XML SDK 2.0 Productivity Tool的反映代码显示了一个稍微奇怪的结果:单元格似乎没有设置文本值:

cellValue1.Text = "";
Run Code Online (Sandbox Code Playgroud)

即使XML说:

<x:c r="A1" s="4" t="s">
Run Code Online (Sandbox Code Playgroud)

OpenXmlReader使用的主要代码如下:

while (reader.Read())
{
    if (reader.ElementType == typeof(SheetData))
    {
        if (reader.IsEndElement)
            continue;

        // Write sheet element
        writer.WriteStartElement(new SheetData());

        // copy header row from template
        reader.Read();
        do
        {
            if (reader.IsStartElement)
            {
                writer.WriteStartElement(reader);
                        }
            else if (reader.IsEndElement)
            {
                writer.WriteEndElement();
            }
            reader.Read();
        } while (!(reader.ElementType == typeof(Row) && reader.IsEndElement));
        writer.WriteEndElement();

        // Write data rows
        foreach (DataRow dataRow in resultsTable.Rows) …
Run Code Online (Sandbox Code Playgroud)

c# excel sax openxml openxml-sdk

4
推荐指数
1
解决办法
5602
查看次数

标签 统计

c# ×2

epplus ×1

excel ×1

openxml ×1

openxml-sdk ×1

sax ×1