2012-10-31 58 views
1

我想知道是否有方法可以获取Web浏览器控件的内容并将其保存为可在Excel中打开的格式?目前我有一个应用程序可以从用户获取数据并将其转换为表格并将其显示在WPF Web浏览器控件的html中。我可以导出这个如下控制为PDF文档内容成功:将WPF Web浏览器的内容保存到Excel文件

string fileName = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".html"; 

File.WriteAllText(fileName, generateHtml()); 

//Creates a new instance of the Microsoft office interop for using MS Word 
Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application(); 
app.Visible = false; 
Microsoft.Office.Interop.Word.Document doc = app.Documents.Open(fileName); 
doc.SaveAs("C:\\Temp\\testExport.pdf", 17); 
app.Quit(); 

这对于出口而言,PDF文件工作正常,我遇到的问题是,我不能为我的生命得到这个工作用excel文件。到目前为止,我试图做到这一点,像这样:

string filePath = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".html"; 

    File.WriteAllText(filePath, generateHtml()); 

    //Creates a new instance of Microsoft office interop for using MS Excel 
    Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application(); 
    //Create a new instance of a workbook 
    Microsoft.Office.Interop.Excel.Workbook excelWorkBook = excelApp.Workbooks.Add(); 
    //Don't Show MS Excel 
    excelApp.Visible = false; 
    //Open a file at location 
    Microsoft.Office.Interop.Excel.Workbook excelWorkBook2 = excelApp.Workbooks.Open(filePath); 
    //Convert that file to an XLSX document 
    excelWorkBook2.SaveAs("C:\\Temp\\testExport.xlsx", Microsoft.Office.Interop.Excel.XlFileFormat.xlXMLSpreadsheet, Missing.Value, Missing.Value, false, false, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Microsoft.Office.Interop.Excel.XlSaveConflictResolution.xlUserResolution, true, Missing.Value, Missing.Value, Missing.Value); 
    //Close excel 
    excelApp.Quit(); 

然而,当我试图打开这个生成我得到以下错误文件:

enter image description here

回答

1

你有没有试图改变文件名到.xls?我相信,Microsoft.Office.Interop.Excel.XlFileFormat.xlXMLSpreadsheet出口到XLS,XLSX不

所有的类型都可以找到here

+0

的工作!谢谢,我甚至没有想过尝试改变扩展名。也谢谢你的链接,它一定会派上用场。 – Jimmy

+0

欢迎您:) –