Excel生成htm

首先,Excel可以另存为htm格式。
那么,如何在程序中完成这一功能?
也就是说,在程序中选择硬盘上的一个Excel表,然后他可以自动将这个Excel表另存为htm格式,而不用手工操作Excel另存为。
程序为asp.net(c#)。
也可以用asp(VB)。
请给出基本的代码,谢谢

非常感谢 刘放4919 的代码
基本上是完成我的要求了。
只是有一点不一样,我需要将单个Sheet挑出来存为htm格式,而不是整个Excel表,
可能我上面漏说了,就是说,比如一张Excel表有5个Sheet子表,我就需要另存为5个htm子表。
在这个程序上,怎么改进?

右击网站——>>添加引用——>>COM——>>MicroSoft Excel 11.0 Object Library ——>>确定
public static void ExcelToHtmlFile(string ExcelFilePath)//文件路径必须是绝对路径
{
Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook oBook = null;
// 缺省参数
object Unknown = Type.Missing;
try
{
//目标html文件路径
object Target = ExcelFilePath.Substring(0, ExcelFilePath.LastIndexOf(".")) + ".html";
//为了保险,只读方式打开
object readOnly = true;
// 指定另存为格式(html)
object format = Microsoft.Office.Interop.Excel.XlFileFormat.xlHtml;

//打开Excel文件
oBook = excelApp.Workbooks.Open(ExcelFilePath, Unknown, readOnly,Unknown, Unknown, Unknown, Unknown, Unknown, Unknown,
Unknown, Unknown, Unknown, Unknown, Unknown, Unknown);

// 转换格式
oBook.SaveAs(Target, format, Unknown, Unknown, Unknown, Unknown,Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Unknown, Unknown, Unknown, Unknown, Unknown);
}
finally
{
if (oBook != null)
{
oBook.Close(false, Unknown, Unknown);
}
excelApp.Quit();
GC.Collect();
}
}

参考资料:http://www.51aspx.com/CV/NewsReport

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-31
简单点就分成2步
1,读取Excel内容,放入DataSet或者DataTable,
2,再生成htm后缀的文件,把刚才的DataSet或者DataTable每一行的数据写进去即可本回答被网友采纳
第2个回答  2010-12-31
我想最家简单的是直接保存为后缀.html
但是这样也学文件类容不正确。
还是读取文件到datatable 然后用程序输出一个html的网页文件好了,就像生成静态页一样的原理一样。
第3个回答  2010-12-31
你获取Excel文件全名,然后截取.后面的后缀名,在把它替换成html
试试看
第4个回答  2010-12-31
用Excel对象打开你的Excel表,Excel对象的另存为html就可以了,