#html #excel #batch-file #vbscript #xlsx
#HTML #excel #пакетный файл #vbscript #xlsx
Вопрос:
Я исследовал в течение нескольких дней, но я не могу найти ничего, чтобы решить эту проблему, с которой я сталкиваюсь.
У меня есть файл Excel в формате .xlsx, который обновляется в течение дня. Что мне нужно сделать, это вызвать пакет, который преобразует его в .html. Я возьму этот HTML-файл и скопирую его в папку, которая автоматически опубликует его для внутреннего использования в моей компании.
Если кто-нибудь может помочь, я был бы очень признателен.
Ответ №1:
Excel позволяет сохранять как веб-страницу изначально. В нем также есть веб-страница «один файл», которая объединяет все изображения / etc в один файл. Он использует расширение mht
or mhtml
.
Const xlHtml = 44
Const xlWebArchive = 45
' Create an instance of Excel and open the workbook...
Set objExcel = CreateObject("Excel.Application")
objExcel.Workbooks.Open "C:FolderMyWorkbook.xlsx"
' Save the workbook as an HTML or MHTML page...
objExcel.ActiveWorkbook.SaveAs "C:FolderMyPage.html", xlHtml
' -or-
objExcel.ActiveWorkbook.SaveAs "C:FolderMyPage.mhtml", xlWebArchive
' Close Excel...
objExcel.Quit
Комментарии:
1. Итак, пытаемся внедрить это во что-то, связанное с производством на работе, и мы видим папку, которая при этом также создается с файлом stylesheet.css и всем остальным, что вызывает файл HTML. Есть ли способ создать обычный HTML-файл, которому не нужны все остальные материалы?
2. Вы пробовали использовать
xlWebArchive
тип с расширениемmht
илиmhtml
, как я показал?
Ответ №2:
Если кто-то ищет C#
Добавьте ссылку -> COM -> Найдите Microsoft Excel, затем Microsoft Office
using Excel = Microsoft.Office.Interop.Excel;
namespace ExcelToSinglePageWeb
{
class Program
{
static void Main(string[] args)
{
Excel.Application xlApp = new Excel.Application();
Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(@"C:UsersnameDesktopWork In Progress.xlsx");
xlWorkbook.SaveAs(@"C:UsersnameDesktopSomePage.mhtml", 45);
xlApp.Quit();
}
}
}