我有一个Ado.Net数据集,它有三个数据表,比如数据集名称客户和表格是帐户,购买和个人资料。我想使用softartisans ExcelWriter将它们导出到使用模板的工作表
示例
DataSet myDataSet = new DataSet();
myDataSet.Tables.Add("Customer");
myDataSet.Tables.Add("Accounts");
myDataSet.Tables.Add("Purchases");
xlt.BindData(myDataSet,null , xlt.CreateDataBindingProperties());
我想将这些表格导出为单独的Excel工作表。
答案 0 :(得分:2)
OfficeWriter的ExcelTemplate对象的BindData方法有多个overloads。接受DataSet的那个不会自动导入DataSet中的每个DataTable,它只导入第一个DataTable。如果要使用DataSet中的每个DataTable,则应使用带有DataTable的重载(请参阅documentation)。例如:
//The 2nd parameter is the dataSource name that must correspond with the first
//part of the datamarker in your template workbook (i.e. %%=Customer.FirstName)
xlt.BindData(DS.Tables["Customer"], "Customer", xlt.CreateDataBindingProperties());
你也可以在循环中做一些事情,比如:
foreach (DataTable table in myDataSet.Tables)
{
xlt.BindData(table, table.TableName, xlt.CreateDataBindingProperties());
}