Microsoft.ACE.OLEDB.12.0进行Excel 导入服务器配置

Asp.net 使用Microsoft.ACE.OLEDB.12.0进行Excel 导入服务器配置:

1.安装插件 AccessDatabaseEngine
2.需要确保IIS是否启用32位应用程序,因为OLEDB不支持64位。
1)打开IIS:1、Win+R打开运行;2、输入"inetmgr"打开IIS;
2)点击IIS中的应用程序池,并选择某一程序池后,点击右边的“高级设置”:
3)在IIS高级设置对话框中找到“启用32位应用程序”选项并设置为true

C#代码示例:
#region 连接Excel 读取Excel数据 并返回DataSet数据集合
///
/// 连接Excel 读取Excel数据 并返回DataSet数据集合
///
/// Excel服务器路径
/// Excel表名称
///
public static DataSet ExcelSqlConnection(string filepath, string tableName)
{
string strCon = “Provider=Microsoft.ACE.OLEDB.12.0;” + “Data Source=” + filepath + “;” + “Extended Properties=‘Excel 12.0;HDR=Yes;IMEX=1’;”;
OleDbConnection ExcelConn = new OleDbConnection(strCon);
try
{
string strCom = string.Format(“SELECT * FROM [Sheet1$]”);
ExcelConn.Open();
OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, ExcelConn);
DataSet ds = new DataSet();

            myCommand.Fill(ds, "[" + tableName + "$]");
            //去掉空格
            int rows = ds.Tables[0].Rows.Count;
            int column = ds.Tables[0].Columns.Count;
            for (int i = 0; i < rows; i++)
            {
                bool bl = true;
                for (int j = 0; j < column; j++)
                {
                    string data = ds.Tables[0].Rows[i][j].ToString();
                    if (!string.IsNullOrEmpty(data))
                    {
                        ds.Tables[0].Rows[i][j] = ds.Tables[0].Rows[i][j].ToString().Replace(" ", "");
                    }
                    //去掉空格之后不为空
                    if (ds.Tables[0].Rows[i][j].ToString() != "")
                    {
                        bl = false;
                    }
                }
                if (bl)
                {
                    ds.Tables[0].Rows[i].Delete();
                }
            }
            ds.Tables[0].AcceptChanges();
            ExcelConn.Close();
            return ds;
        }
        catch
        {
            ExcelConn.Close();
            return null;
        }
    }
    #endregion
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值