我正在使用Spire.XLS,我必须用不同的工作表填充一个excel文件,然后问题就开始了,我需要从不同的工作表中取出值并在同一个dataGridView中导出这些值,要获得我使用的方法sheet.Range[]的值,看起来像spire.XLS作为命令exportDataTable(),但是在本例中,它显示了如下所示

这一项的问题是,这不能保持单元格背景色和上一次公式的实际值,如果需要的话,我也向其他库开放,但我需要解决这个问题
发布于 2022-03-01 02:37:24
没有将Excel格式导出到DataGridView的直接方法,您可以编写大量代码将Excel格式转换为DataGridView。如果要导出公式的实际值而不是公式本身,则可以使用ExportDataTable(CellRange range,bool exportColumnNames,bool computedFormulaValue)方法。
下面是一个基本的例子:
private void button1_Click(object sender, EventArgs e)
{
Workbook workbook = new Workbook();
workbook.LoadFromFile("Input.xlsx");
Worksheet sheet = workbook.Worksheets[0];
DataTable dt = sheet.ExportDataTable(sheet.Range, true, true);
this.dataGridView1.DataSource = dt;
this.dataGridView1.EnableHeadersVisualStyles = false;
this.dataGridView1.ColumnHeadersDefaultCellStyle.BackColor = sheet.Rows[0].Style.Color;
}输入Excel:

输出DataGridView:

https://stackoverflow.com/questions/71292442
复制相似问题