我需要在同一工作簿的两个 Excel 工作表中导出两个数据集的值。
我的查询是这样的:
//数据集一:
DataSet ds1 = new DataSet();
SqlCommand commandOpen = new SqlCommand("storedproc1", conSql);
commandOpen.CommandType = CommandType.StoredProcedure;
var adaptOpen = new SqlDataAdapter();
adaptOpen.SelectCommand = commandOpen;
adaptOpen.Fill(ds1, "table");
//数据集二:
DataSet ds2 = new DataSet();
SqlCommand commandOpen = new SqlCommand("storedproc2", conSql);
commandOpen.CommandType = CommandType.StoredProcedure;
var adaptOpen = new SqlDataAdapter();
adaptOpen.SelectCommand = commandOpen;
adaptOpen.Fill(ds2, "table");
现在创建一个我使用过的 Excel 工作簿:
ExcelLibrary.DataSetHelper.CreateWorkbook("C:/New Folder/file1.xls", ds1);
但我不想在同一个工作簿中添加两张纸;一个用于 ds1,另一个用于 ds2。怎么做?
谢谢。
可能重复的:如何使用 Excellibrary 将数据集添加到工作表 https://stackoverflow.com/questions/11445374/how-to-add-dataset-to-worksheet-using-excellibrary
在该问题的答案中,展示了如何将数据集导出到 Excel 文件,但数据集中的每个表都有自己的工作表。您可以根据需要修改代码。
其他帖子的代码:
public static void CreateWorkbook(String filePath, DataSet dataset)
{
if (dataset.Tables.Count == 0)
throw new ArgumentException("DataSet needs to have at least one DataTable", "dataset");
Workbook workbook = new Workbook();
foreach (DataTable dt in dataset.Tables)
{
Worksheet worksheet = new Worksheet(dt.TableName);
for (int i = 0; i < dt.Columns.Count; i++)
{
// Add column header
worksheet.Cells[0, i] = new Cell(dt.Columns[i].ColumnName);
// Populate row data
for (int j = 0; j < dt.Rows.Count; j++)
worksheet.Cells[j + 1, i] = new Cell(dt.Rows[j][i]);
}
workbook.Worksheets.Add(worksheet);
}
workbook.Save(filePath);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)