2013-07-22 2 views
-1

Мы периодически получаем набор выходов SQL-запросов в виде html-файла. Таким образом, в основном, этот html-файл содержит набор выходных данных SQL в табличной форме, который я могу щелкнуть правой кнопкой мыши и открыть его в MS Excel.Как загрузить html-файлы в таблицу excel

Я в основном пытаюсь загрузить html в Excel и иметь все выходы в разных листах (по одному на каждый вывод SQL) вместо того, чтобы делать щелчок правой кнопкой мыши каждый раз.

Я очень новичок в Excel и не знаю, как достичь этого.

Не могли бы вы указать мне, как этого достичь?

Большое спасибо

+1

Пожалуйста, смотрите [ask] в качестве отправной точки. –

+0

Привет ... Я пытался найти ... извините, если вопрос непонятен. Я ищу что-то вроде этого: http://www.mrkent.com/tools/converter/, но не хочу, чтобы шаги выполнялись вручную. Я не уверен, как это может быть достигнуто в excel, но я ищу, где я могу загрузить html-файл и позволить excel выделять выходы sql в данные в разных листах. Любой пример о том, как это сделать, будет очень полезен. благодаря – Sai

ответ

0

Я предлагаю использовать Excel Web Query: См http://www.techrepublic.com/article/pull-data-into-microsoft-excel-with-web-queries/ или поиск первенствовать веб-запрос на Google. Вы можете указать URL-адрес, например файл: // 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, но является промежуточным решением, но, возможно, не лучшим в использовании.