求 EXCEL 导入方法 支持导入 xlsm 格式

lyvscf 2012-11-06 04:11:07
现在需要支持导入 xlsm格式的导入方法,请各位赐教! 谢谢!
...全文
425 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyvscf 2012-11-06
  • 打赏
  • 举报
回复
Provider=Microsoft.Ace.OleDb.12.0;Data Source=文件位置;Extended Properties='Excel 12.0;HDR=Yes' 已经解决了 谢谢各位了!
单线程加锁 2012-11-06
  • 打赏
  • 举报
回复
连接没打开吧?strConn.Open() EXCEL的DLL也需要引用,代码供参考

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.Office.Interop.Excel;
using System.IO;
using System.Reflection;
using System.Data.OleDb;

 private void Bingdgv()
        {
            if (FilePath == "")
            {
                return;
            }
            try
            {
                OleDbConnection conn = new OleDbConnection(ExcelConnStr);
                string sql = "select * from [Sheet1$]";
                if (conn.State == ConnectionState.Closed)
                {
                    conn.Open();
                }
                OleDbDataAdapter myCommand = new OleDbDataAdapter(sql, conn);
                ds = new DataSet();
                myCommand.Fill(ds, "[Sheet1$]");
                conn.Close();

                dgvData.DataMember = "[Sheet1$]";
                dgvData.DataSource = ds;
                conn.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
                throw ex;
            }
        }

lyvscf 2012-11-06
  • 打赏
  • 举报
回复

 Dim dtTemp As DataTable
        Dim strSql, strConn As String
        Dim MyData As OleDbDataAdapter

        dtTemp = New DataTable

        strSql = "SELECT * FROM [" & strSheet & "$]"
        strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strExcelFile & ";Extended Properties=""Excel 8.0;IMEX=1"""

        Try
            MyData = New OleDbDataAdapter(strSql, strConn)

            MyData.Fill(dtTemp)
            MyData.Dispose()
        Catch ex As Exception
        End Try

        Return dtTemp
我用这个代码是报错的 MyData.Fill(dtTemp) 是否能给些具体提示,或是代码参考...
sinodzh 2012-11-06
  • 打赏
  • 举报
回复
你用07意思的office组件就可以了

16,722

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧