电信站 网通站
 
 
万网产品站   新网产品站
服务热线: 0791-6810858
  400-6868-103 (免长途费)
 
首 页     网站建设     OA办公     网站推广     域名注册     虚拟主机     集团邮局     服务器租用     运营顾问     网站案例  
您现在的位置:首页 → 运营顾问 → 网站建设类
  运营顾问
Consultant
    网站建设类
    网络营销类
    运营研究类
    网站优化类
 
asp.net中操作对excel的操作
网站建设类 www.21it.com 时间:2008-12-26 15:07:18
本文先描述如何用c#连接、操作excel文件。
 
项目中需要引入的DLL文件为Interop.Excel、Interop.Microsoft.Office.Core、Interop.Office等。
 
操作excel前需要定义一些excel变量:
 
 
定义操作excel的公共变量[www.cn-web.com]
public Excel.Application m_objExcel = null;//Excel的工作环境
public Excel._Workbook m_objBook = null;//工作簿对象
public Excel.Sheets m_objsheets = null;//工作表集合
public Excel._Worksheet m_objSheet = null;//活动工作表
public Excel.Range m_objRange = null;//选择单元格

 

连接excel文件并选择要操作的表[www.cn-web.com]
string excelfilename="cn-web-com/1.xls"; 
excelfilename=Server.MapPath(excelfilename);//取得excel文件的地址
m_objExcel = new Excel.Application();
m_objBook = m_objExcel.Workbooks.Open(excelfilename, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt);
m_objsheets=m_objBook.Worksheets;

m_objSheet=(_Worksheet)m_objsheets.get_Item(1);//选择的是第一个表


经过以上操作,我们可以连接上了excel并获取excel里第一张表的对象:m_objSheet。
连接上后,我们向excel表里写入数据:


向excel某单元格内写入数据[www.cn-web.com]
string pos="A1";//excel中A1的位置。
m_objRange = m_objSheet.get_Range(_pos, m_objOpt);//取得单元格
m_objRange.Value2 = "技术支持:cn-web.com(老韩)";//向A1单元格中写入数据

接着,我们将此excel另存:


保存excel文档[www.cn-web.com]
m_objBook.SaveAs(savefileurl, oP.m_objOpt, oP.m_objOpt, oP.m_objOpt, oP.m_objOpt, oP.m_objOpt, Excel.XlSaveAsAccessMode.xlShared, oP.m_objOpt, oP.m_objOpt, oP.m_objOpt, oP.m_objOpt);//savefileurl为物理地址

最后,要记着关闭excel进程:

关闭excel操作进程[www.cn-web.com]
 m_objBook.Close(m_objOpt, m_objOpt, m_objOpt);

                m_objExcel.Workbooks.Close();

                m_objExcel.Quit();

                System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objBook);

                System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objExcel);

                m_objBook = null;

                m_objExcel = null;

                GC.Collect();

foreach (System.Diagnostics.Process p in System.Diagnostics.Process.GetProcesses())
                {
                    if (p.ProcessName.ToUpper() == "EXCEL")
                    {
                        p.Kill();
                    }
                }

OK,上面的几个模块描述了asp.net(c#)对excel的基本操作,在下一文章中将进一步来讲解asp.net在线对excel的操作。

 
咨询反馈
如果想获得更为详细的解决方案,并获得专业的支持,请您与我们联系,您也可以在线提交建站意向。
程序开发
世纪网络专业应用系统开发,帮助客户建立业务管理系统、员工管理系统、办公自动化系统等,提高工作效率,提高生产力。
网站推广
Baidu百度作为全球最大的中文搜索引擎,是国内用户最常使用搜索引擎。实践证明,其竞价排名是目前为止效果最好,投资回报最高的网络推广服务。
收藏本站  |  关于我们  |  新闻公告  |  付款方式  |  留言反馈  |  人才招聘  |  合作伙伴  |  联系方式
版权所有 © 2008 江西世纪网络科技有限公司 赣ICP备05020270号
全国统一服务热线:400-6868-103   QQ在线:80229612  6022008  24009604
电话:0791-6810858   6810859    不间断服务:13097283353   13870607108
地址:南昌市南京东路165号东方广场A1-2座1104 (邮编:330029)
法律顾问:北京市衡基律师事务所 徐颖略律师