2013-05-14 65 views
1

我有一個Ado.Net數據集,它有三個數據表讓我們說數據集名稱客戶和表格是帳戶,購買和配置文件。我不喜歡用softartisans ExcelWriter出口他們的工作表使用模板使用softartisans將ado.net數據集導出到excel工作表中Excelwriter

DataSet myDataSet = new DataSet(); 
     myDataSet.Tables.Add("Customer"); 
     myDataSet.Tables.Add("Accounts"); 
     myDataSet.Tables.Add("Purchases"); 
     xlt.BindData(myDataSet,null , xlt.CreateDataBindingProperties()); 

我不喜歡錶導出到論文單獨的Excel工作表。

回答

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()); 
    }