当前位置:编程学习 > C#/ASP.NET >>

c# 调用Excel

c# 中调用Excel 的版本兼容的问题,现在无法判断客户使用时安装的office 的版本啊,在程序中如何来实现版本的兼容;
调用 Excel必须要按钮office 吗 --------------------编程问答-------------------- 必须要安装office。
在调用的时候可以判断一下,把03跟07的版本都写上去。用try catch。 --------------------编程问答-------------------- 可以不用裝Office的
用ADO直接去操作 --------------------编程问答-------------------- ADO直接操作,能不能说详细点啊 --------------------编程问答-------------------- 使用低版本的COM组件操作是可以兼容的
--------------------编程问答-------------------- 能不能详细点啊

低版本可以兼容高版本吗 --------------------编程问答-------------------- 我原来用VB操作EXCEL时遇到过这样的问题,我是这样解决的,将所有变量的声明改成Object,再把需要用到的各种版本的excel库文件添加到引用中。OK!C#我没用过,不知道可以用同样的处理方法。你可以试试。下面是我的VB源码,方便你理解。
'Dim TempApp As Application
'Dim Exwbook As Excel.Workbook
'Dim Exsheet As Excel.Worksheet
Dim TempApp As Object
Dim Exwbook As Object
Dim Exsheet As Object

Set TempApp = CreateObject("Excel.application")
If TempApp Is Nothing Then MsgBox "请检查是否安装Microsoft Excell软件", vbExclamation, "问题": Exit Sub
Set Exwbook = TempApp.Workbooks.Add
Set Exsheet = Exwbook.Worksheets(1) --------------------编程问答-------------------- 上面一点说错了,我只引用了一个2000版本的Excel库,它及其以上版本都可以用了。 --------------------编程问答-------------------- 谢了,我可以试一试 --------------------编程问答-------------------- 第三方的类库,这样就不需要excel了。
可以试试这个Koogra --------------------编程问答--------------------   OleDbConnection myOleConn = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False; data source=" + strFileName + "; Extended Properties='Excel 8.0;PersistSecurityInfo=False;HDR=YES;IMEX=no'");
   myOleConn.Open();
    string sql = "select  [字段1] , [字段2] ,[字段3] from [sheet1$]";
    OleDbDataAdapter MyCommand = new System.Data.OleDb.OleDbDataAdapter(sql, myOleConn);
       DataSet ds = new System.Data.DataSet();
         MyCommand.Fill(ds);
             myOleConn.Close();
              return ds.Tables[0]; --------------------编程问答-------------------- --------------------编程问答-------------------- 用低版本的,高版本可以兼容低的 --------------------编程问答-------------------- 将DataGridView控件中数据导出到Excel函数
 /// <summary>
        /// 将DataGridView控件中数据导出到Excel
        /// </summary>
        /// <param name="gridView">DataGridView对象</param>
        /// <param name="isShowExcle">是否显示Excel界面</param>
        /// <returns></returns>
        public bool ExportDataGridview(DataGridView gridView,bool isShowExcle)
        {
            if (gridView.Rows.Count == 0)
                return false;
            //建立Excel对象
            Excel.Application excel = new Excel.Application();
            excel.Application.Workbooks.Add(true);
            excel.Visible = isShowExcle;
            //生成字段名称
            for (int i = 0; i < gridView.ColumnCount; i++)
            {
                excel.Cells[1, i + 1] = gridView.Columns[i].HeaderText;
            }
            //填充数据
            for (int i = 0; i < gridView.RowCount-1; i++)
            {
                for (int j = 0; j < gridView.ColumnCount; j++)
                {
                    if (gridView[j, i].ValueType == typeof(string))
                    {
                        excel.Cells[i + 2, j + 1] = "'" + gridView[j, i].Value.ToString();
                    }
                    else
                    {
                        excel.Cells[i + 2, j + 1] = gridView[j, i].Value.ToString();
                    }
                }
            }
            return true;
        }
然后调用此函数就行了!
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,