小编Nat*_*ate的帖子

带有MemoryStream的EPPlus作为电子邮件附件 - 文件为空

我正在构建一个控制台应用程序,将数据移动到excel文件中(使用EPPlus库).我将ExcelPackage保存为MemoryStream,我想将其附加到电子邮件中.但是,当我收到电子邮件时,Excel文件为空 - 0字节.

思考?

        MemoryStream outputStream = new MemoryStream();
        using (ExcelPackage package = new ExcelPackage(outputStream)) {

                // export each facility's rollup and detail to tabs in Excel (two tabs per facility)
                ExcelWorksheet facilityWorksheet = package.Workbook.Worksheets.Add(row["facility_id"].ToString());
                ExcelWorksheet facilityDetail = package.Workbook.Worksheets.Add(row["facility_id"].ToString() + "-detail");

                facilityWorksheet.Cells.LoadFromDataTable(rollupData, true);
                facilityDetail.Cells.LoadFromDataTable(rawExceptions, true);

                package.Save();
        }
Run Code Online (Sandbox Code Playgroud)

以下是创建电子邮件附件的代码:

Attachment attachment = new Attachment(outputStream, "ECO_exceptions.xlsx", "application/vnd.ms-excel");
Run Code Online (Sandbox Code Playgroud)

.net epplus

20
推荐指数
1
解决办法
5493
查看次数

FileHelpers中的DataTable类 - type.GetProperties()返回空数组

我已成功将CSV文件拖到以下类中:

[DelimitedRecord(",")]
[IgnoreFirst(1)] // ignores first line of file, since it's a header
public class Employee {
    public string EmployeeId;
    public string FirstName;
    public string LastName;
    // etc.
}
Run Code Online (Sandbox Code Playgroud)

我需要基于该类创建一个DataTable才能使用SqlBulkCopy.我找到了几个例子,但以下方法对我不起作用:

private static DataTable createEmptyDataTable(Type myType) {
        DataTable dt = new DataTable();

        foreach (PropertyInfo info in myType.GetProperties()) {
            dt.Columns.Add(new DataColumn(info.Name, info.PropertyType));
        }

        return dt;
    }
Run Code Online (Sandbox Code Playgroud)

问题出在myType.GetProperties()上.它没有抛出错误,但它什么也没有返回.它应该返回的PropertyInfo数组是空的.已经有一段时间了,无法弄清楚问题......

编辑:我也使用这个变种没有成功:

private static DataTable createEmptyDataTable(Type myType) {
        DataTable dt = new DataTable();
        PropertyInfo[] infoArray = myType.GetProperties(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static);

        foreach (PropertyInfo info …
Run Code Online (Sandbox Code Playgroud)

.net c# filehelpers

4
推荐指数
2
解决办法
3267
查看次数

标签 统计

.net ×2

c# ×1

epplus ×1

filehelpers ×1