Previous topicNext topic
Help > 开发指南 > Excel > API > 示例 > Workbook >
如何:将文档导出为 HTML

下面的示例演示如何使用 Workbook.ExportToHtml 方法将工作表另存为 HTML 文件。若要指定导出选项,请创建 HtmlDocumentExporterOptions 类的实例,并将其作为参数传递给 ExportToHtml 方法。

Vb.Net
'创建一个Workbook工作簿对象.
Using workbook As New DevExpress.Spreadsheet.Workbook()
    '从文件中加载Workbook工作簿
    workbook.LoadDocument("D:\Document.xlsx", DevExpress.Spreadsheet.DocumentFormat.Xlsx)
    ' ...
    Dim worksheet As DevExpress.SpreadsheetWorksheet = workbook.Worksheets("Grouping")
    workbook.Worksheets.ActiveWorksheet = worksheet
    
    Dim options As New DevExpress.XtraSpreadsheet.Export.HtmlDocumentExporterOptions()
    
    ' 指定文档中要导出为HTML的部分。
    options.SheetIndex = worksheet.Index
    options.Range = "B2:G7"
    
    ' 使用指定的选项将活动工作表导出为HTML流。
    Using htmlStream As New FileStream("D:\OutputWorksheet.html", FileMode.Create)
        workbook.ExportToHtml(htmlStream, options)
    End Using
    
    System.Diagnostics.Process.Start("D:\OutputWorksheet.html")
End Using

C#
// 创建一个Workbook工作簿对象.
using (DevExpress.Spreadsheet.Workbook workbook = new DevExpress.Spreadsheet.Workbook())
{
    // 从文件中加载Workbook工作簿
    workbook.LoadDocument(@"D:\Document.xlsx", DevExpress.Spreadsheet.DocumentFormat.Xlsx);
    // ...
    DevExpress.SpreadsheetWorksheet worksheet = workbook.Worksheets["Grouping"];
    workbook.Worksheets.ActiveWorksheet = worksheet;
    
    DevExpress.XtraSpreadsheet.Export.HtmlDocumentExporterOptions options = new DevExpress.XtraSpreadsheet.Export.HtmlDocumentExporterOptions();
    
    // 指定文档中要导出为HTML的部分。
    options.SheetIndex = worksheet.Index;
    options.Range = "B2:G7";
    
    // 使用指定的选项将活动工作表导出为HTML流。
    using (FileStream htmlStream = new FileStream(@"D:\OutputWorksheet.html", FileMode.Create))
    {
        workbook.ExportToHtml(htmlStream, options);
    }
    
    System.Diagnostics.Process.Start(@"D:\OutputWorksheet.html");
}

异步导出

使用 Workbook.ExportToHtmlAsync 方法将工作簿异步导出为 HTML 格式。

重要

调用此方法时,请考虑以下事项:

下面的代码示例使用 CancellationToken 对象将加载的 XLSX 文档的第一个工作表异步导出为 HTML:

Vb.Net
Private Async Sub ConvertXlsx2PdfWithCancellation()
    ' 指定取消令牌。
    Using source As New CancellationTokenSource(10000)
        '创建一个Workbook工作簿对象.
        Using workbook As New DevExpress.Spreadsheet.Workbook()
            Try
                '异步加载XLSX文件.
                Await workbook.LoadDocumentAsync("D:\Document.xlsx", source.Token)
                '异步将XLSX文件导出到html文件.
                Await workbook.ExportToHtmlAsync("D:\Result.html",0, source.Token)
            Catch e1 As OperationCanceledException
                MessageBox.Show("Cancelled by timeout.")
            End Try
        End Using
    End Using
End Sub

C#
private async void ConvertXlsx2PdfWithCancellation()
{
    // 指定取消令牌。
    using (CancellationTokenSource source = new CancellationTokenSource(10000))
    {
        // 创建一个Workbook工作簿对象.
        using (DevExpress.Spreadsheet.Workbook workbook = new DevExpress.Spreadsheet.Workbook())
        {
            try
            {
                // 异步加载XLSX文件.
                await workbook.LoadDocumentAsync(@"D:\Document.xlsx", source.Token);
                // 异步将XLSX文件导出到html文件.
                await workbook.ExportToHtmlAsync(@"D:\Result.html",0, source.Token);
            }
            catch (OperationCanceledException e1)
            {
                MessageBox.Show("Cancelled by timeout.");
            }
        }
    }
}

导出前计算公式

工作簿的默认计算模式为“手动”。此模式意味着电子表格组件在生成 HTML 文件之前不会重新计算公式。在将工作簿导出到 HTML 之前,调用 Workbook.Calculate 或 Workbook.CalculateFull 方法计算工作簿中的所有公式。

Vb.Net
'创建一个Workbook工作簿对象.
Using workbook As New DevExpress.Spreadsheet.Workbook()
    '从文件中加载Workbook工作簿
    workbook.LoadDocument("D:\Document.xlsx", DevExpress.Spreadsheet.DocumentFormat.Xlsx)
    ' ...
    '在导出PDF文件前,重新计算工作簿中所有的公式
    workbook.Calculate()
    '导出workbook工作簿到HTML文件.
    workbook.ExportToHtml("D:\Output_Workbook.pdf")
End Using

C#
// 创建一个Workbook工作簿对象.
using (DevExpress.Spreadsheet.Workbook workbook = new DevExpress.Spreadsheet.Workbook())
{
    // 从文件中加载Workbook工作簿
    workbook.LoadDocument(@"D:\Document.xlsx", DevExpress.Spreadsheet.DocumentFormat.Xlsx);
    // ...
    //在导出PDF文件前,重新计算工作簿中所有的公式
    workbook.Calculate();
    // 导出workbook工作簿到HTML文件.
    workbook.ExportToHtml(@"D:\Output_Workbook.pdf");
}