`

[转] java直接访问excel的demo

    博客分类:
  • Java
阅读更多

今天一个哥们问,用jdbc能不能把excel作为数据源访问?

考虑之前写的一个java访问access的例子,稍加修改,测试可以用。

测试例子,新建一个excel,命名为Mobile.xls,在Sheet1里写入如下两行:

手机号

13900000001.0

java代码如下:

import java.sql.*;

public class javaExcel{

 public static void main(String args[]) throws Exception{

  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

  String dburl ="jdbc:odbc:driver={Microsoft Excel Driver (*.xls)};DBQ=Mobile.xls";//此为NO-DSN方式

  //String dburl ="jdbc:odbc:odbcName";//此为ODBC连接方式

  Connection conn=DriverManager.getConnection(dburl);

  Statement stmt=conn.createStatement();

  ResultSet rs=stmt.executeQuery("select Top 20 * from [Sheet1$]");

  while(rs.next()){

   System.out.println(rs.getString(1));

  }

  rs.close();

  stmt.close();

  conn.close();

 }

}
 

运行以上代码,显示:

13900000001.0

没有读到第一行,考虑到程序是否默认第一行为列名了呢?试一下用metadata是否可以拿到。如下修改代码:

import java.sql.*;

public class javaExcel{

 public static void main(String args[]) throws Exception{

  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

  String dburl ="jdbc:odbc:driver={Microsoft Excel Driver (*.xls)};DBQ=Mobile.xls";//此为NO-DSN方式

  //String dburl ="jdbc:odbc:odbcName";//此为ODBC连接方式

  Connection conn=DriverManager.getConnection(dburl);

  PreparedStatement stmt=conn.prepareStatement("select Top 20 * from [Sheet1$]");

  ResultSet rs=stmt.executeQuery();

  ResultSetMetaData rsmd=stmt.getMetaData();

  System.out.println(rsmd.getColumnName(1));

  while(rs.next()){

   System.out.println(rs.getString(1));

  }

  rs.close();

  stmt.close();

  conn.close();

 }

}
 

运行以上代码,显示:

手机号

13900000001.0

看来猜测没错。

此方法使用excel,只在windows并安装excel的机器上测试过,没有测试其他环境。

此方法的限制,对数据类型受制于excel,细心点可以看到手机号后面多了一个.0,变成了数字型;所以访问excel还是建议使用jxls或jexcelapi等api来操作,这样可以访问类型更丰富的、布局更复杂的excel。

jxls:

http://jxls.sourceforge.net

jexcelapi:

http://jexcelapi.sourceforge.net/

 

转自:http://blog.csdn.net/54powerman/archive/2010/08/04/5787402.aspx

 

分享到:
评论

相关推荐

    上传下载Excel的Demo,java代码

    标题 "上传下载Excel的Demo,java代码" 描述了这个示例项目的核心功能,即在Java环境下处理Excel文件的上传和下载操作。这通常涉及到Web应用程序中的数据导入导出功能,便于用户通过浏览器进行数据的交互。在这个项目...

    java操作excel表格的demo

    本示例("java操作excel表格的demo")将教你如何使用Java来读取、修改和创建Excel文件,主要涉及Apache POI库,这是一个强大的开源库,专门用于处理Microsoft Office格式的文件。 **Apache POI简介** Apache POI 是...

    钉钉对接Java demo

    【钉钉对接Java demo】是基于Java编程语言实现的一个示例项目,主要目的是演示如何将企业级通讯工具钉钉与自定义的业务系统进行有效集成。这个demo涵盖了多个关键知识点,包括API调用、OAuth2.0授权机制、消息推送...

    poi 解析excel文件内容demo

    在这个"poi 解析excel文件内容demo"中,我们主要关注如何使用Apache POI库来读取和解析Excel文件,无论它们是2003版的.XLS还是2007以后的.XLSX格式。 首先,Apache POI提供了两种主要的接口来处理Excel文件:HSSF...

    java运用poi把excel导入数据库demo

    在这个“java运用poi把excel导入数据库demo”中,我们将探讨如何利用POI库将Excel数据有效地导入Oracle数据库。 首先,我们需要理解Apache POI的工作原理。POI提供了HSSF和XSSF两个API,分别用于处理旧版的BIFF8(....

    jxl 操作excel Demo

    通过上述的描述,我们可以看出"jxl操作excel Demo"是帮助开发者理解和实践如何在Java项目中利用jxl库来处理Excel文件的实例。"33.xls"可能是这个示例代码所操作的Excel文件,用于测试和展示jxl的功能。学习并理解这...

    读取EXCEL Demo&Servlet DEMO

    7. **Excel数据解析**:使用POI库,可以访问Excel文件中的单元格,行和列,进行数据读取。这包括理解工作表结构,获取特定单元格的值,以及处理不同类型的Excel数据(如文本、数字、日期等)。 8. **Servlet框架**...

    word、ppt、excel转pdf读取页数Demo

    总之,"word、ppt、excel转pdf读取页数Demo"涵盖了文件格式转换和PDF元数据读取的核心技术,这些技术在文档管理和协同工作中有着广泛的应用。理解并掌握这些知识点对于开发高效、可靠的文档处理工具至关重要。

    Android自定义excel表格demo下载

    1. **使用库**: 在Android中,由于原生SDK并不直接支持Excel文件的创建,通常我们会依赖第三方库。可能使用的库有Apache POI(适用于服务器端),或者一些专门为Android设计的库,如`XlsxWriter`、`SimpleXlsxWriter...

    ExcelDemo.rar

    【标题】"ExcelDemo.rar" 是一个包含SpringBoot项目的压缩包,该项目着重展示了如何在SpringBoot框架下处理Excel文件的上传与下载功能。这通常涉及到Web应用开发中的数据交互和文件处理技术,对于需要处理大量表格...

    Java导入导出Excel代码

    在Java编程中,处理Excel数据...在"ExcelDemo"这个项目中,你应该能找到一个实际运行的示例,演示了如何使用jxl库进行Excel操作。通过查看和运行这些代码,你可以更深入地理解如何在Java中导入、导出和修改Excel文件。

    excel-demo.rar

    综上所述,这个"excel-demo"项目可能是为了展示如何使用Apache POI库配合Java的反射和泛型技术,高效地读取Excel文件并将其内容转换为JavaBean对象。这样的工具或示例在数据导入、报表生成、数据分析等场景中非常...

    jxl导入导出excel完美运行demo

    在Java编程领域,处理Excel数据是一项常见的任务,而`jxl`库则是一个非常实用的工具,用于读取和写入Excel文件。本示例"jxl导入导出excel完美运行...结合提供的`ExcelDemo`示例,相信你可以更加熟练地运用这些功能。

    Java操作EXCEL (xls)模板生成EXCEL(xls)方法已经所需要的包

    ### Java操作Excel (xls)模板生成Excel (xls)方法及所需包详解 #### 一、引言 在日常开发工作中,经常会遇到需要批量处理Excel文件的需求。这些需求可能包括但不限于:根据现有数据自动生成报告、统计报表等。利用...

    将excel数据插入到数据库中去demo.zip

    这个“将excel数据插入到数据库中去demo.zip”压缩包提供了一个具体的实例,帮助我们理解如何实现这一过程。下面将详细阐述相关知识点。 1. **Excel数据读取**: - 使用Java编程语言,可以借助Apache POI库来读取...

    android 导出excel demo

    本Demo主要展示了如何创建一个XLS(Excel)文件,并将数据集(通常以Bean的形式存在)写入这个文件,最后将其保存到SD卡上。下面我们将详细探讨这一过程中的关键知识点。 首先,我们需要了解Android系统对文件操作...

    java操作excel

    这个项目可能包含了`POIDemo.java`或类似名称的源文件,其中包含读取、写入Excel的完整示例,包括注释,帮助初学者理解和应用这些概念。 总之,Apache POI为Java开发者提供了一种强大而灵活的方式来处理Excel文件,...

    java web demo

    Java Web Demo是一个全面展示Java Web开发技术的实例集合,它可以直接在MyEclipse环境中导入并运行,为开发者提供了丰富的学习和实践素材。这个Demo涵盖了多种关键技术和工具,包括Web服务器的配置、SSH(Spring、...

    Struts2+Excel导出Demo,测试可用带JAR包

    这个"Struts2+Excel导出Demo"是一个实用的教学案例,可以帮助开发者理解如何在Java Web应用中集成Struts2和Excel导出功能。通过学习和实践这个Demo,开发者可以快速掌握相关技术,提高工作效率。

    JAVA实现在线阅读demo

    本项目以"JAVA实现在线阅读demo"为主题,旨在提供一个类似于百度在线预览服务的解决方案,支持用户在线查看Excel、Word(.DOC)和PDF等多种类型的文件,而无需下载到本地。下面将详细阐述该项目的核心技术和实现步骤...

Global site tag (gtag.js) - Google Analytics