【发布时间】:2014-12-16 23:18:04
【问题描述】:
我只需要确认/快速信息。我觉得这是一个显而易见的问题,但只是想确保并完全了解正在发生的事情。在网上找不到太多细节。
我正在使用 SpreadSheetGear 从数据表中转储电子表格中的数据。这些表中有一些指南。现在,当我尝试从我的数据表中复制时,我收到一个错误,指出错误的数据类型,除非我使用标志 AllText 导入或通过删除我的数据表中包含 Guids 的列。
似乎 excel 不能支持 Guids 作为变量/数据类型。这是正常的吗?反正我不需要数据可以很容易地转换成文本格式,但我只是想完全理解这个问题。
这是一个带有以下错误的示例代码:无效的单元格值类型。
public void Test()
{
DataTable table = new DataTable();
table.Columns.Add("ID", typeof(Guid));
table.Columns.Add("Drug", typeof(string));
table.Columns.Add("Patient", typeof(string));
table.Columns.Add("Date", typeof(DateTime));
table.Rows.Add(Guid.NewGuid(), "Indocin", "David", DateTime.Now);
table.Rows.Add(Guid.NewGuid(), "Enebrel", "Sam", DateTime.Now);
table.Rows.Add(Guid.NewGuid(), "Hydralazine", "Christoff", DateTime.Now);
IWorkbook wrk = Factory.GetWorkbook();
IWorksheet wsht = wrk.Worksheets["Sheet1"];
IRange rng = wsht.Cells["A1"];
rng.CopyFromDataTable(table, SpreadsheetGear.Data.SetDataFlags.None);
wrk.SaveAs("C:\\MyData.xls",FileFormat.OpenXMLWorkbook);
wrk.Close();
}
【问题讨论】:
标签: excel datatable guid spreadsheetgear variable-types