- 浏览: 55923 次
- 性别:
- 来自: 上海
文章分类
最新评论
直接上代码:
<?xml version="1.0" encoding="UTF-8"?> <beans> <table classname="classname" class="com.lt.util.policy.matching.vo.FlightCourseVo" tablename="b_flight_course"> <property name="id" column="id" type="java.lang.Integer"></property> <property name="airlineCode" column="airline_code" type="java.lang.String"></property> <property name="departureAirport" column="departure_airport" type="java.lang.String"></property> <property name="arrivalAirport" column="arrival_airport" type="java.lang.String"></property> <property name="flightNo" column="flight_no" type="java.lang.String"></property> <property name="type" column="type" type="java.lang.Integer"></property> <property name="price" column="price" type="java.lang.Double"></property> <property name="distance" column="distance" type="java.lang.Double"></property> <property name="international" column="international" type="java.lang.Integer"></property> <property name="startDate" column="start_date" type="java.util.Date"></property> <property name="expirationDate" column="expiration_date" type="java.util.Date"></property> <property name="flightCourse" column="flight_course" type="java.lang.String"></property> </table> </beans>
package com.matching; import java.io.File; import java.lang.reflect.Method; import java.sql.ResultSet; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import jxl.Workbook; import jxl.write.Label; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import org.jdom.Document; import org.jdom.Element; import org.jdom.input.SAXBuilder; import com.lt.util.policy.matching.vo.FlightCourseVo; /** * * @author guyanming * @time 2013-03-22 17:20:00 * */ public class WriteDBToExcel { public static List<Map<String, String>> getBFlightCourse(String XmlName) throws Exception { List<Map<String, String>> listMap = new ArrayList<Map<String, String>>(); Map<String, String> map = new HashMap<String, String>(); Map<String, String> mapnum = new HashMap<String, String>(); // 参数类型 Map<String, String> maptype = new HashMap<String, String>(); SAXBuilder saxBuilder = new SAXBuilder(); String currenFilePath = MatchingTest.class.getResource(XmlName).getPath(); File file = new File(currenFilePath); Document document = saxBuilder.build(file); Element element = document.getRootElement(); List<Element> list = element.getChildren(); for (int i = 0; i < list.size(); i++) { Element ele = list.get(i); String tablename = ele.getAttributeValue("tablename"); String classname = ele.getAttributeValue("classname"); String clazz = ele.getAttributeValue("class"); map.put("tablename", tablename); map.put(classname, clazz); int num = 0; for (Element elepro : (List<Element>) ele.getChildren()) { String VoName = elepro.getAttributeValue("name"); String column = elepro.getAttributeValue("column"); String columnType = elepro.getAttributeValue("type"); mapnum.put(String.valueOf(num), VoName); map.put(VoName, column); maptype.put(VoName, columnType); num++; } } listMap.add(mapnum); listMap.add(map); listMap.add(maptype); return listMap; } public void writeExcel(List<FlightCourseVo> list) { try { // 创建一个可写入的excel文件对象 WritableWorkbook workbook = Workbook.createWorkbook(new File("D://guyanming.xls")); // 使用第一张工作表,命名为“b_flight_course” WritableSheet sheet = workbook.createSheet("b_flight_course", 0); // String[] tableHead = { "id", "airlineCode", "departureAirport", // "arrivalAirport", "flightNo", "type", // "price", "distance", "international", "startDate", // "expirationDate", "flightCourse" }; String[] tableHead = new String[mapnum.size()]; for (int i = 0; i < mapnum.size(); i++) { tableHead[i] = mapnum.get(String.valueOf(i)); } // 表头处理 for (int i = 0; i < tableHead.length; i++) { Label label = new Label(i, 0, tableHead[i]); sheet.addCell(label); } FlightCourseVo fc = null; for (int i = 0; i < list.size(); i++) { fc = list.get(i); for (int j = 0; j < tableHead.length; j++) { String methodName = "get" + tableHead[j].substring(0, 1).toUpperCase() + tableHead[j].substring(1); Method m = fc.getClass().getMethod(methodName); Object obj = m.invoke(fc); Label labelCFC = new Label(j, i + 1, String.valueOf(obj)); sheet.addCell(labelCFC); } } // 关闭对象,释放资源 workbook.write(); workbook.close(); } catch (Exception e) { System.out.println(e); } } private static List<Object> getFlightCourseVoList(Map<String, String> mapnum, Map<String, String> map, Map<String, String> maptype, String SqlWhere) throws Exception { String table = map.get("tablename"); StringBuffer sql = new StringBuffer(""); sql.append(" select "); String columnName = null; String column = null; for (int i = 0; i < mapnum.size(); i++) { columnName = mapnum.get(String.valueOf(i)); column = map.get(columnName); if ((i + 1) == mapnum.size()) { sql.append(" " + column); sql.append(" as "); sql.append(columnName + " "); } else { sql.append(" " + column); sql.append(" as "); sql.append(columnName + ","); } } sql.append(" from "); sql.append(table); sql.append(" where "); if (SqlWhere == null || "".equals(SqlWhere)) { sql.append("1=1"); } else { sql.append(SqlWhere); } java.sql.Connection conn = NFDUtil.getDBConnection(); ResultSet rs = conn.createStatement().executeQuery(sql.toString()); String classname = map.get("classname"); List<Object> fcList = new ArrayList<Object>(); Object object = null; String MethodNameLost = null; String Methodtype = null; String MethodName = null; while (rs.next()) { object = Class.forName(classname).newInstance(); for (int i = 0; i < mapnum.size(); i++) { MethodNameLost = mapnum.get(String.valueOf(i)); Methodtype = maptype.get(MethodNameLost); MethodName = "set" + MethodNameLost.substring(0, 1).toUpperCase() + MethodNameLost.substring(1); Method m = object.getClass().getMethod(MethodName, Class.forName(Methodtype)); // java.lang.Integer if ("java.lang.Integer".equals(Methodtype)) { Object temp1 = rs.getInt(MethodNameLost); m.invoke(object, temp1); } // java.lang.String else if ("java.lang.String".equals(Methodtype)) { Object temp2 = rs.getString(MethodNameLost); m.invoke(object, temp2); } // java.lang.Double else if ("java.lang.Double".equals(Methodtype)) { Object temp3 = rs.getDouble(MethodNameLost); m.invoke(object, temp3); } // java.util.Date else if ("java.util.Date".equals(Methodtype)) { Object temp4 = rs.getDate(MethodNameLost); m.invoke(object, temp4); } } fcList.add(object); } conn.close(); return fcList; } public static void ExcuteExcel(String fileName, String SqlWhere) throws Exception { List<Map<String, String>> listMap = new ArrayList<Map<String, String>>(); listMap = WriteDBToExcel.getBFlightCourse(fileName); mapnum = listMap.get(0); map = listMap.get(1); maptype = listMap.get(2); List list = WriteDBToExcel.getFlightCourseVoList(mapnum, map, maptype, SqlWhere); try { WriteDBToExcel me = new WriteDBToExcel(); File f = new File("D://guyanming.xls"); // 生成一个可读取的excel文件对象 me.workbook = Workbook.getWorkbook(f); // 写入数据 me.writeExcel(list); me.workbook.close(); } catch (Exception e) { System.out.println(e); } } public static void main(String[] arges) throws Exception { System.out.println("********************game begin***********************"); WriteDBToExcel.ExcuteExcel("BFlightCourse.xml", "type = 1 and international = 0"); System.out.println("********************game over************************"); } private Workbook workbook; static Map<String, String> map = null; static Map<String, String> mapnum = null; static Map<String, String> maptype = null; }
发表评论
-
文件的拷贝
2012-10-26 15:44 769public static void main(Strin ... -
char与byte转换
2012-10-26 11:19 1082public static void main(Strin ... -
文本数据读取
2012-10-26 10:40 749文本数据读取 public static void mai ... -
JDBC
2012-10-26 10:17 774天天搞NC财务,很多基础快忘了,现在每天复习一点点,争取盲写代 ... -
生成随机码
2012-10-25 22:23 874public static String genRando ... -
String、StringBuffer与StringBuilder之间区别
2012-10-25 21:58 802关于这三个类在字符串 ...
相关推荐
java读取excel数据导入数据库源码 java读取excel数据导入数据库源码
本文将讨论三种从数据库读取数据并生成Excel文件的方法,以VB6.0为编程环境,配合SQL Server 2000和Excel 2000进行测试。测试表包含10322条记录,9个字段。 1. **使用CopyFromRecordset方法**: 这种方法是通过...
这是我做的一个将数据用excel导出代码,前半段代码可以忽略,是查询语句,最后一段才是导出excel。
本文将详细阐述如何从Excel文件中读取数据并将其导入到数据库中,重点处理合并单元格和超过4000字符的数据列。 首先,我们需要理解Excel是常用的数据存储和处理工具,而数据库如MySQL、SQL Server、Oracle等则用于...
3. **读取数据**:定位到包含更新数据的工作表,读取所需的数据行和列。注意,如果数据有特定的格式或结构,可能需要进行预处理,例如去除空格、转换数据类型等。 4. **处理数据**:根据业务需求,对读取到的数据...
1、java解析读取excel文件中的数据,并写入数据库。 2、java读取数据库数据,并导出为excel文件。 3、README.md中有详细的操作步骤示例。 使用说明: 1. 先使用postman导入:other/excel相关.postman_collection....
在标题为“从数据库导出数据到EXCEL源码”的项目中,我们关注的核心知识点是利用C#编程语言将数据库中的数据导出到Microsoft Excel文件中。这通常是数据分析、报告生成或数据备份等应用场景中的常见操作。 首先,C#...
在标题为“数据库数据导入到excel中 jsp”的场景下,我们主要探讨的是如何利用Java Web技术,尤其是JSP(JavaServer Pages)来实现数据在数据库与Excel之间的交互。描述中提到的实例涵盖了两个方向:将Excel数据导入...
在标题"从Excel读取数据到数据库"中,我们探讨的核心技术是使用PowerBuilder(PB)这一强大的编程工具来实现数据的导入,具体是从Microsoft Excel文件中读取数据并将其存储到数据库系统中。这通常涉及到数据迁移、...
本主题将深入探讨如何利用Python实现Excel数据一键导入MySQL数据库,以及如何从MySQL数据库中一键读取数据到Excel表格。 首先,我们需要了解Python中的两个关键库:`pandas`和`mysql-connector-python`。`pandas`是...
本文将详细讲解如何将数据导入到Excel以及如何从Excel读取数据并导入到数据库,以实现高效的数据操作。 一、数据导入到Excel 1. 手动导入:最简单的方式是直接复制其他源(如文本文件、数据库表)中的数据,然后在...
本工具类利用POI库,结合Java和MySQL数据库,实现从数据库查询数据并将其高效地写入到Excel文件中的功能。这一过程对于数据导出、报表生成或者数据分析场景非常常见。 【描述】:此项目基于Java 1.8环境,采用Maven...
在VS2010中打开网站,浏览ReadExcel.aspx页面,这里选择你要导入的excel表,并且还可以为导入数据库中的表命名,点击Upload完成上传。注意:需要修改ReadExcel.aspx.cs页面中CreateTable中的连接字符串。
本示例中,我们将探讨如何通过编程方式,利用Java的JDBC(Java Database Connectivity)接口从数据库中获取数据,并将其存储到Excel文档中。`JDBCWriteMyExcel.java` 文件很可能是实现这一功能的源代码。 首先,...
这是一个用openpyxl连接mysql数据库并获取数据库数据写入到excel的一个py文件
通过以上步骤,我们可以实现从Excel文件读取数据并将其写入数据库的过程。这个过程在数据分析和自动化任务中非常常见,能有效地整合不同来源的数据,提高工作效率。在实际应用中,应根据具体需求进行适当的调整和...
在Java编程中,将数据库中的数据导出到Excel文件...通过以上步骤,你可以成功地使用Java从数据库中读取数据并将其导出到Excel文件。这个过程涉及到了数据库操作、文件I/O以及第三方库的使用,是Java开发中的常见技能。
这个组件通常包含了连接数据库、执行SQL语句、获取数据等功能,对于Excel文件而言,我们可以将其视为一个特殊的数据库,通过ODBC(Open Database Connectivity)或者JDBC(Java Database Connectivity)等方式进行...
在ASP.NET C#环境下,将数据库中的数据导出到Excel表格是一项常见的任务,尤其是在数据分析、报表生成或数据共享时。这个过程涉及到多个关键知识点,包括数据库连接、查询、数据处理以及Excel文件操作。以下是对这些...
在本项目中,主要使用POI来处理Excel文件,读取数据并将其导入到数据库,或者从数据库中导出数据到Excel文件。 4. **Thymeleaf**: Thymeleaf是一个现代的服务器端Java模板引擎,可以处理HTML、XML、JavaScript、CSS...