• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    服务器读取EXCEL不安装OFFICE如何实现
    前段时间用asp.net做了一简单的游戏管理后台,其中涉及到了上传Excel导入数据的功能,本来在本地开发实现都好好的,可已上传的服务器上就悲剧了。服务器是阿里云 Windows Server 2008 R2(X64),排查后发现服务器没装office这玩意,也就不会有OLEDB驱动程序,实在不想装office,特别是office 2010,看着庞大的体积就头疼,怎办?

    百度谷歌一番发现,其实只要安装Microsoft Access 2010 数据库引擎可再发行程序包即可实现2010 Microsoft Office System 文件与非 Microsoft Office 应用程序之间传输数据,支持现有的 Microsoft Office 文件(例如 Microsoft Office Access 2010(*.mdb 和 *.accdb)文件和 Microsoft Office Excel 2010(*.xls、*.xlsx 和 *.xlsb)文件)与其他数据源(例如 Microsoft SQL Server)之间传输数据。还支持与现有文本文件建立连接。 此外,还会安装 ODBC 和 OLEDB 驱动程序,供应用程序开发人员在开发与 Office 文件格式连接的应用程序时使用。该安装包下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=13255 。

    装上这个包后,一段代码就搞定:
    复制代码 代码如下:

    /// summary>
    /// 连接Excel 读取Excel数据 并返回DataSet数据集合
    /// /summary>
    /// param name="filepath">Excel服务器路径/param>
    /// param name="tableName">Excel表名称/param>
    /// returns>/returns>
    public static System.Data.DataSet ExcelSqlConnection(string filepath, string tableName)
    {
    //string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1'";
    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 + "$]");
    ExcelConn.Close();
    return ds;
    }
    catch
    {
    ExcelConn.Close();
    return null;
    }
    }
    上一篇:ASP.net中实现基于UrlRewrite的防盗链功能
    下一篇:ASP.NET连接MySql数据库的2个方法及示例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    服务器读取EXCEL不安装OFFICE如何实现 服务器,读取,EXCEL,不,安装,