2013-07-22 106 views
-1

我们定期以html文件的形式获取一组SQL查询输出。所以,基本上,这个html文件包含一组表格形式的SQL输出,我可以右键单击并在MS Excel中打开它。如何将html文件加载到excel电子表格中

我基本上是试图加载在Excel中的HTML,并在不同的工作表(每个SQL输出一个),而不是每次右键单击所有输出。

我对Excel很新,不确定如何做到这一点。

请问我可以告诉我如何做到这一点?

非常感谢

+1

请看[ask]作为出发点。 –

+0

嗨...我试图搜索...对不起,如果问题不明确。我正在寻找这样的东西:http://www.mrkent.com/tools/converter/,但不希望手动完成这些步骤。我不知道如何在Excel中实现这一点,但寻找可以加载html文件并让excel将sql输出隔离到不同工作表中的数据的位置。任何关于如何完成这个任务的例子都会有很大的帮助。谢谢 – Sai

回答

0

我建议使用Excel的网络查询:请参见http://www.techrepublic.com/article/pull-data-into-microsoft-excel-with-web-queries/或谷歌搜索Excel网络查询。 您可能会提供一个URL,例如file:// C:\ somefolder \ somehtmlfile.html 您可以在这里找到有关如何在创建和刷新网络查询时出现问题的更多信息: http://msdn.microsoft.com/en-us/library/office/aa203721(v=office.11).aspx 更好的选择是直接提取数据进入Excel,假设谁使用电子表格可以读取相关的数据库表格。

0

如果您计划将其作为自动化操作,则可以使用C#。 实际上,您将网站的内容从C#网站复制到变量中,然后从C#中将其粘贴到您选择的位置。 因此,我们使用剪贴板作为助手,它允许将内容复制到实际将任何html表格转换为Excel表格的剪贴板中。

Microsoft.Office.Interop.Excel.Application excel = null; 
Microsoft.Office.Interop.Excel.Workbook xls = null; 

Excel.Workbook workbook; 
workbook = xlsApp.Workbooks.Open("Your excel file.xls", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,Type.Missing, Type.Missing); 
foreach (Excel.Worksheet sheet in workbook.Sheets) 
{ 
     if(sheet.Name.Equals("Which worksheet you want to map")) 
     /// the table is converted to html table in clipboard 
     string html = Clipboard.GetText(TextDataFormat.Html); // you actually can give him the HTML code of the table too 
     // TextDataFormat.Html can be anyy html code 
     File.WriteAllText(temporaryFilePath, html); 
     Clipboard.SetText(html); 
     sheet.Range(cellmapp).PasteSpecial(); 
     sheet.Columns.AutoFit(); 
     sheet.Rows.AutoFit(); 
} 

现在,如果你从你的代码编写一个简单的.exe可执行程序,你甚至可以在它使每一天都自动。 这是用Microsoft.Office.Interop完成的,但它是一个intermediaire解决方案,但可能不是最好用的。

相关问题