其实这种所谓转换利用了Excel强大的容错能力。它输出了一个格式错误的xls文件,然后Excel在打开这个文件时就会尽量修复它并装入工作表。既然如此,经常无法描述准确的格式,以及不能利用Excel的机制,也就自然而然地了。如果真正转换为Excel对象,请使用Excel(以及 Office)的 COM 接口的类库操纵,打开应用程序进程 ->创建工作簿->创建工作表->写数据->写格式->写公式->写脚本程序,一步步来。你甚至可以写一段VBA程序让它在客户机器上本地(以用户的权限)执行,甚至你可以把一个.exe程序通过这种程序让它在客户机器上执行。好在高版本的Excel在工作簿有程序代码的时候会有一个警告,但是很多人都把Excel上这个警告给设置掉了(让它不提示)。
我说的“一步步来”使用COM接口由程序写。包括向一个工作簿注入VBA程序的过程,都是用程序编写。
我有个问题请楼主帮忙 我用<网际快车>的批量下载从网上下载网页资料进行编辑整理.下载的文件是 Company ASPX 文件 (全是这样K数不等的文件).如何导入excel表格中进行整理. 请楼主帮忙解决或者.非常感谢!!!
protected void Button1_Click(object sender, EventArgs e)
{
Response.Clear(); Response.Buffer = false; Response.Charset = "GB2312"; Response.AppendHeader("Content-Disposition", "attachment:filename=test.xls"); Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); Response.ContentType = "application/ms-excel"; this.EnableViewState = false; System.IO.StringWriter oStringWriter = new System.IO.StringWriter(); System.Web.UI.HtmlTextWriter ohtmltextwriter = new System.Web.UI.HtmlTextWriter(oStringWriter); this.DataGrid1.RenderControl(ohtmltextwriter); Response.Write(oStringWriter.ToString()); Response.End();
}
举个例子哈:
在DataGrid中有三列分别是:A,B,C.他们绑定的数据是int型的,现在A可以直接从数据库里面抓取获得数值,B,C:在将数据导入到DataGrid时全为0.现在调用上面的事件.将DataGrid中的数据导入到Excel中.
现在在Excel中编辑B列,即输入数据.
要实现的功能就是在B列中输入数据后,就能自动执行一个减法运算:即:C=B-A.
我知道在Excel中可以写一个函数进行运算,但是如果将这个函数,写到DataGrid中该怎样写呢?有没有谁遇到过这样的问题,你是怎样处理的呢?------------------------------------------
我用<网际快车>的批量下载从网上下载网页资料进行编辑整理.下载的文件是 Company ASPX 文件 (全是这样K数不等的文件).如何导入excel表格中进行整理. 请楼主帮忙解决或者.非常感谢!!!