0

我正在使用 Spire.XLS,我必须用不同的工作表填充一个 excel 文件,然后问题就开始了,我需要从不同的工作表中取出值并将它们一起导出到同一个 dataGridView 中,以获取我使用的值方法sheet.Range[],它看起来像 spire.XLS 作为命令exportDataTable(),但在这种情况下它显示类似这样的东西

而这个的问题是,这不会保持单元格背景颜色,也不会保持最后一列中公式的实际值,如果需要,我也可以向其他库开放,但我需要解决这个问题

4

1 回答 1

1

没有将 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: 在此处输入图像描述

于 2022-03-01T02:37:24.600 回答