【发布时间】:2016-07-13 17:20:34
【问题描述】:
我无法将 Excel 工作簿中的 一个 工作表保存为 单个 .htm 文件。
我知道如果我打开 Excel,打开我的工作簿,选择我想要的工作表,然后执行“另存为”文件类型 .htm,它将起作用。每次我编写代码时,我都会得到“Hitlist.htm”加上一个名为“Hitlist_files”的文件夹,其中包含所有样式表等。不幸的是,在 powershell 中,它会“另存为”所有其他数据和补充文件(额外的文件夹,样式规范等)
帮助。代码如下。
#Create and get my Excel Obj
$excel = New-Object -comobject Excel.Application
$excel.visible=$false
$excel.DisplayAlerts=$false
$UserWorkBook = $excel.Workbooks.Open("e:\hitlist\hitlist.xlsx")
#Select first Sheet
$UserWorksheet = $UserWorkBook.Worksheets.Item(1)
#HitList File name and type
$hitlist = "E:\HitList\Hitlist.htm"
$xlHtml = 44
#Save, close, and clean up
#I tried this too...no go - $UserWorkBook.SaveAs($hitlist,$xlHtml)
$UserWorksheet.SaveAs($hitlist,$xlHtml)
$UserWorkBook.close()
$excel.quit()
$excel = $null
【问题讨论】:
-
要清楚 - 您的最后一行,".. 即使我将工作簿文件更改为只有一张纸!" 您是说您验证了 @ 987654322@ 工作簿只有一张,但 HTML 输出文件显示了多张数据?
-
含义:即使我删除了所有其他工作表,它也会创建“Hitlist_files”文件夹。
-
如果您查看该文件夹,它是 HTML 的参考。它的数据不应超过您指定的工作表(在位置一)。您确定您看到的是其他工作表,而不是单个工作表的数据引用?
-
我看到了一个 filelist.xml、一个 sheet001.htm、stylesheet.css 和一个 tabstrip.htm。我想要的是一个独立的 .htm 文件,就像您要在 Excel 中执行另存为、htm 并只选择要发布的单个工作表。
-
知道了。请尝试使用
45,而不是使用44。如果这对您有用,请告诉我们,我将作为答案发布给您解释。 注意:您还需要将文件扩展名设为.mhtml而不仅仅是.html
标签: excel powershell