c# - 如何将格式单元格从数据库保存到数据表c#
问题描述
我试图从 mysql 表中获取数据以将其传递到 excelsheet 中。
我使用 blazor 和 epplus 库。
这是我的代码
MySqlConnection con= new MySqlConnection(_config.GetConnectionString("default"));
con.Open();
MySqlCommand cmd = new MySqlCommand(sql, con);
DataTable dt = new DataTable();
dt.Load(cmd.ExecuteReader());
using (ExcelPackage pck = new ExcelPackage())
{
ExcelWorksheet worksheetData = pck.Workbook.Worksheets.Add("Sheet1");
worksheetData.Cells.LoadFromDataTable(dt, true);
pck.SaveAs(new System.IO.FileInfo(@"wwwroot/Ressources/test.xlsx"));
}
似乎没有正确返回我所有数据,因为至少有一列日期,而不是我在我的 excelsheet 单元格编号上的日期,例如 44275
我想念什么吗?有没有一种更容易将数据从数据库表传递到 excelsheet 的方法?
解决方案
我找到了解决方案:这是因为就像@Jim 所说的那样,我必须首先指定列里面会有日期。
因此,就我而言,将模板 xlsx 文件上的列目标格式化为日期格式,并且效果很好。我看到了我想要的正确日期。
推荐阅读
- fortran - Fortran,仅使用起始索引传递数组
- javascript - 动态添加 CodeMirror:更改语言模式
- macos - gstreamer mac os 非法操作:4
- swift - 自动续订订阅 SKProduct.PeriodUnit == 7
- powerbi - 在切片器中使用不同的聚合列作为列名
- regex - 从字符串中删除所有空格
- ios - 禁用 IOS PWA 的缓存
- java - 如何克服此类方法错误:com.sun.org.apache.xml.internal.serialize.OutputFormat
- sql - 将列从 varchar 更改为整数并删除非数字字符
- rxjs - 当 Angular HttpClient POST 收到 500 时,既不会调用 onNext,也不会调用 onError