泌尿系统结石可以吃ponroy蔓越莓来调理么?

2011年8月 总版技术专家分月排行榜第三
2012年10月 荣获微软MVP称号2011年10月 荣获微软MVP称号
2011年 总版技术专家分年内排行榜第四2010年 总版技术专家分年内排行榜第九2009年 总版技术专家分年内排行榜第八
2011年10月 总版技术专家分月排行榜第一
2008年 总版技术专家分年内排行榜第二
2010年 总版技术专家分年内排行榜第四2009年 总版技术专家分年内排行榜第五2007年 总版技术专家分年内排行榜第六
本帖子已过去太久远了,不再提供回复功能。&nbsp&#8250&nbsp&nbsp&#8250&nbsp
java处理excel表格数据并导入数据库示例
有时我们有很大的数据需要录入,而这些数据存在一张excel表格之中,这时候最好的方法是通过java 代码自动导入。这需要引入一个专么处理office办公文件的java& api。java操作Excel最常用的开源组件有poi与jxl。jxl是韩国人开发的,发行较早,但是更新的很慢,目前似乎还不支持excel2007。
poi是apache下的一个子项目,poi应该是处理ms的office系列文档最好的组件了。poi3.7版本已经开始支持excel2007了。所以这里我们选择poi作为开发工具。
package com.ssy.aims.
import java.io.FileInputS
import java.io.FileOutputS
import java.sql.C
import java.sql.DriverM
import java.sql.PreparedS
import java.sql.ResultS
import java.sql.S
import java.text.DecimalF
import java.util.ArrayL
import java.util.D
import org.apache.poi.hssf.usermodel.HSSFC
import org.apache.poi.hssf.usermodel.HSSFR
import org.apache.poi.hssf.usermodel.HSSFS
import org.apache.poi.hssf.usermodel.HSSFW
* @author cc
* java读取excel文件
* 一个Excel文件的层次:Excel文件-&工作表-&行-&单元格 对应到POI中,为:workbook-&sheet-&row-&cell
public class PoiExcel {
&&&&public static String outputFile = "E:/users.xls";
&&&&//public static String fileToBeRead = "E:/蒋和杰.xls";
&&&&static String createTableSql="";//创建数据库的sql
&&&&static String colType="TEXT";//字段类型
&&&&static String key="id";//主键
&&&&static String charSet="utf8";//表格字符类型
&&&&static String ENGINE="InnoDB";//表格类型
&&&&static String tableName="tempExcelToMysql";//表名称
&&&&static String colName="col";//默认字段名
&&&&static Connection conn =
&&& /* 数据库连接*/static void getConntion(){
&&&&&&&&try {
&&&&&&&&String driver_class = "com.mysql.jdbc.Driver";
&&&&&&&&String connection_url = "jdbc:mysql://localhost:3306/databasename?useUnicode=true&characterEncoding=gb2312";
&&&&&&&&String user_name = "username";
&&&&&&&&String db_password = "password";
&&&&&&&&Class.forName(driver_class);
&&&&&&&&conn = DriverManager.getConnection(connection_url, user_name,db_password);
&&&&&&&&}catch(Exception e){
&&&&&&&&&&&&e.printStackTrace();
public void CreateExcel() {
&&&&&&&&try {
&&&&&&&&&&&// 创建新的Excel 工作簿
&&&&&&&&&&&HSSFWorkbook workbook = new HSSFWorkbook();
&&&&&&&&&&&// 在Excel工作簿中建一工作表,其名为缺省值
&&&&&&&&&&&// 如要新建一名为"效益指标"的工作表,其语句为:
&&&&&&&&&&&// HSSFSheet sheet = workbook.createSheet("效益指标");
&&&&&&&&&&&HSSFSheet sheet = workbook.createSheet();
&&&&&&&&&&&// 在索引0的位置创建行(最顶端的行)
&&&&&&&&&&&HSSFRow row = sheet.createRow((short) 0);
&&&&&&&&&&&//在索引0的位置创建单元格(左上端)
&&&&&&&&&&&HSSFCell cell = row.createCell((short) 0);
&&&&&&&&&&&// 定义单元格为字符串类型
&&&&&&&&&&&cell.setCellType(HSSFCell.CELL_TYPE_STRING);
&&&&&&&&&&&// 在单元格中输入一些内容
&&&&&&&&&&&cell.setCellValue("sweater");
&&&&&&&&&&&// 新建一输出文件流
&&&&&&&&&&&FileOutputStream fOut = new FileOutputStream(outputFile);
&&&&&&&&&&&// 把相应的Excel 工作簿存盘
&&&&&&&&&&&workbook.write(fOut);
&&&&&&&&&&&fOut.flush();
&&&&&&&&&&&// 操作结束,关闭文件
&&&&&&&&&&&fOut.close();
&&&&&&&&&&&System.out.println("文件生成...");
&&&&&&&&} catch (Exception e) {
&&&&&&&&&&&&&&&&System.out.println("已运行 xlCreate() : " + e);
* 读取excel,遍历各个小格获取其中信息,并判断其是否是手机号码,并对正确的手机号码进行显示
* 注意: 1.sheet, 以0开始,以workbook.getNumberOfSheets()-1结束 2.row,
* 以0开始(getFirstRowNum),以getLastRowNum结束 3.cell,
* 以0开始(getFirstCellNum),以getLastCellNum结束, 结束的数目不知什么原因与显示的长度不同,可能会偏长
public void readExcel(String fileToBeRead,String addacct) {
//将被表示成1.E10的手机号转化为,不一定是最好的转换方法
&&&&DecimalFormat df = new DecimalFormat("#");
&&&&&&&// 创建对Excel工作簿文件的引用
&&&&&&&HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead));
&&&&&&&for (int numSheets = 0; numSheets & workbook.getNumberOfSheets(); numSheets++) {
&&&&&&&&&&&&
&&&&&&&&&&&if (null != workbook.getSheetAt(numSheets)) {
&&&&&&&&&&&&&HSSFSheet aSheet = workbook.getSheetAt(numSheets);//获得一个sheet
&&&&&&&&&&&&&
&&&&&&&&&&&&&for (int rowNumOfSheet = 0; rowNumOfSheet &= aSheet.getLastRowNum(); rowNumOfSheet++) {
&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&System.out.print("行"+rowNumOfSheet);//其它格式的数据
&&&&&&&&&&&&&&&&&&if (null != aSheet.getRow(rowNumOfSheet)) {
&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&HSSFRow aRow = aSheet.getRow(rowNumOfSheet);
&&&&&&&&&&&&&&&&&&&&&&&ArrayList recode=new ArrayList();
&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&for (short cellNumOfRow = 0; cellNumOfRow &= aRow.getLastCellNum(); cellNumOfRow++) {
&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&if (null != aRow.getCell(cellNumOfRow)) {
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&HSSFCell aCell = aRow.getCell(cellNumOfRow);
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&int cellType = aCell.getCellType();
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&switch (cellType) {
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&case 0://Numeric
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&String strCell = df.format(aCell .getNumericCellValue());
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&System.out.print(strCell);
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&recode.add(strCell);
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&case 1://String
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&strCell = aCell.getStringCellValue();
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&System.out.print(strCell);
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&recode.add(strCell);
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&default:
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&System.out.println("格式不对不读");//其它格式的数据
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&&&&&&&} //end& of& 遍历所有数据项结束
&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&getConntion();
&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&String sql="insert into tab_student_info (member_no,member_name,sex," +
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&"contact_mobile,province_no,city_no,county_no," +
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&"village_no,address,status,oper_date," +
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&"oper_code,oper_type,domain_no,att1,"+
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&"values("+0+",'"+recode.get(0)+"',"+0+",'"+ recode.get(1)& +"',"+ 1 +"," + 1 +","+ 1 +","+ 1 +",'"+ recode.get(2) +"'," +&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&1+","+"now()"+",'"+addacct+"',"+2+","+1+"," +0+","+
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&")";
&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&System.out.println(sql);
&&&&&&&&&&&&&&&&&&&&&&&&&&statement = conn.createStatement();
&&&&&&&&&&&&&&&&&&&&&&&&&&statement.executeUpdate(sql);&
&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&//mit();
&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&} //end& of& if (null != aSheet.getRow(rowNumOfSheet))
&&&&&&&&&&&&&&&&&&System.out.println("");
&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&} //end& of& for 遍历所有行结束
&&&&&&&&&&&}
&&&&&&&}& //end& of& for& 遍历所有sheet结束
&&&&} catch (Exception e) {
&&&&&&&System.out.println("ReadExcelError" + e);
上一篇: Spring的Bean Bean是Spring装配的组件模型,一切实体类都可以配置成一个Bean,进而就可以在任何其他的Bean中使用,一个Bean也可以不是指定的实体类,这就是抽象Bean。 在Spring中有两个最基本、最重要的包,即org.springframework.beans和org.springframewor
下一篇: java操作Excel最常用的开源组件有poi与jxl。jxl是韩国人开发的,发行较早,但是更新的很慢,目前似乎还不支持excel2007。poi是apache下的一个子项目,poi应该是处理ms的office系列文档最好的组件了。poi3.7版本已经开始支持excel2007了。但是由于excel2007底ㄓㄤㄑㄧㄤ
准备工作:
1.导入POI包:POI下载地址(重要)
2.导入Java界面美化包下载地址(可选)如果不想加入界面美化代码可以把void setlookandfeel()这个方法及其调用去掉
jar在下载解压在文件夹dist目录下
beautyeye_lnf.jar包是个开源的美化Java界面的包,推荐学习做出的Java界面比较美观
3.本案例使用Hiberate下配置Oracle导入导出数据
导出的数据库表为users表
SQL& desc system.&Name&&&&&&&&&&&&&& Type&&&&&&&&&&&&&&&&&&&&&&&&&& Nullable&&&&&&&&&&&&& Default Comments&-----&&&&&&&&&&&&&& ------------------&&&&&&&&&&&&&&&&&& --------&&&&&&&&&&&&&&&&&&& ------- --------&ID&&&&&&&&&&&&&&&&& NUMBER(10)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&NAME&&&&&&&&&&&& VARCHAR2(50 CHAR)&&&&&&&&&&&&&&&&&&&&&&&&&&&&PWORD&&&&&&&&&& VARCHAR2(32 CHAR)&&&&&&&&&&&&&&&&&&&&&&&&&&&&EMAIL&&&&&&&&&&& VARCHAR2(100 CHAR)&&&&&&& Y
注意Column顺序不能乱
1.ExcelOutandIn.java
ExcelOutandIn主要利用Jtable显示数据库里面的数据
显示效果如图所示
package com.wym.
import java.awt.BorderL
import java.awt.C
import java.awt.F
import java.awt.event.ActionE
import java.awt.event.ActionL
import java.awt.event.MouseA
import java.awt.event.MouseE
import java.io.F
import java.io.FileInputS
import java.io.FileNotFoundE
import java.io.IOE
import java.util.L
import java.util.V
import javax.swing.DefaultRowS
import javax.swing.JB
import javax.swing.JFileC
import javax.swing.JF
import javax.swing.JOptionP
import javax.swing.JP
import javax.swing.JScrollP
import javax.swing.JT
import javax.swing.RowS
import javax.swing.event.TableModelE
import javax.swing.event.TableModelL
import javax.swing.filechooser.FileF
import javax.swing.table.DefaultTableM
import javax.swing.table.TableM
import javax.swing.table.TableRowS
import org.apache.poi.hssf.usermodel.HSSFC
import org.apache.poi.hssf.usermodel.HSSFR
import org.apache.poi.hssf.usermodel.HSSFS
import org.apache.poi.hssf.usermodel.HSSFW
import org.hibernate.NonUniqueObjectE
import org.jb2011.lnf.beautyeye.BeautyEyeLNFH
import cn.wym.hibernate.U
import cn.wym.hibernate.UsersDAO;
public class ExcelOutandIn extends JFrame implements ActionListener {
JButton button1 = new JButton("ToExcel");
JButton button2 = new JButton("FromExcel");
Container ct = null;
DefaultTableModel defaultModel = null;
JButton add = new JButton("添加");
JButton delete = new JButton("删除");
JButton save = new JButton("保存");
JButton reset = new JButton("刷新");
JPanel jp1 = new JPanel(),
JPanel jp2 = new JPanel();
JScrollPane jsp = null;
UsersDAO userdao = new UsersDAO();
Users users = null;
@SuppressWarnings("unchecked")
List list = null;
public List getList() {
public void setList(List list) {
this.list =
protected JTable table = null;
protected String oldvalue = "";
protected String newvalue = "";
* @param args
public static void main(String[] args) {
// TODO Auto-generated method stub
ExcelOutandIn tm = new ExcelOutandIn();
// tm.paintuser();
public void paintuser() {
list = this.getUsers();
for (int i = 0; i & list.size(); i++) {
users = (Users) list.get(i);
System.out.println(" ID:" + users.getId() + "");
@SuppressWarnings("unchecked")
public List getUsers() {
list = userdao.findAll();
private File getSelectedOpenFile(final String type) {
String name = getName();
JFileChooser pathChooser = new JFileChooser();
pathChooser.setFileFilter(new FileFilter() {
public boolean accept(File f) {
if (f.isDirectory()) {
return true;
if (f.getName().toLowerCase().endsWith(type)) {
return true;
return false;
public String getDescription() {
return "文件格式(" + type + ")";
pathChooser.setSelectedFile(new File(name + type));
int showSaveDialog = pathChooser.showOpenDialog(this);
if (showSaveDialog == JFileChooser.APPROVE_OPTION) {
return pathChooser.getSelectedFile();
return null;
private File getSelectedFile(final String type) {
String name = getName();
JFileChooser pathChooser = new JFileChooser();
pathChooser.setFileFilter(new FileFilter() {
public boolean accept(File f) {
if (f.isDirectory()) {
return true;
if (f.getName().toLowerCase().endsWith(type)) {
return true;
return false;
public String getDescription() {
return "文件格式(" + type + ")";
pathChooser.setSelectedFile(new File(name + type));
int showSaveDialog = pathChooser.showSaveDialog(this);
if (showSaveDialog == JFileChooser.APPROVE_OPTION) {
return pathChooser.getSelectedFile();
return null;
void setlookandfeel() {
BeautyEyeLNFHelper.frameBorderStyle = BeautyEyeLNFHelper.FrameBorderStyle.osLookAndFeelD
org.jb2011.lnf.beautyeye.BeautyEyeLNFHelper.launchBeautyEyeLNF();
} catch (final Exception e) {
System.out.println("error");
void init() {
setlookandfeel();
buildTable();
jsp = new JScrollPane(table);
ct.add(jsp);
button1.setActionCommand("ToExcel");
button1.addActionListener(this);
button2.setActionCommand("FromExcel");
button2.addActionListener(this);
delete.setActionCommand("delete");
delete.addActionListener(this);
reset.setActionCommand("reset");
reset.addActionListener(this);
save.setActionCommand("save");
save.addActionListener(this);
add.setActionCommand("add");
add.addActionListener(this);
public void ToExcel(String path) {
list = getUsers();
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("Users");
String[] n = { "编号", "姓名", "密码", "邮箱" };
Object[][] value = new Object[list.size() + 1][4];
for (int m = 0; m & n. m++) {
value[0][m] = n[m];
for (int i = 0; i & list.size(); i++) {
users = (Users) list.get(i);
value[i + 1][0] = users.getId();
value[i + 1][1] = users.getUsername();
value[i + 1][2] = users.getPassword();
value[i + 1][3] = users.getUEmail();
ExcelUtil.writeArrayToExcel(wb, sheet, list.size() + 1, 4, value);
ExcelUtil.writeWorkbook(wb, path);
* 从Excel导入数据到数据库
* @param filename
public void FromExcel(String filename) {
String result = "success";
/** Excel文件的存放位置。注意是正斜线 */
// String fileToBeRead = "F:\\" + fileFileN
// 创建对Excel工作簿文件的引用
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(
filename));
// 创建对工作表的引用。
// HSSFSheet sheet = workbook.getSheet("Sheet1");
HSSFSheet sheet = workbook.getSheetAt(0);
int j = 1;//从第2行开始堵数据
// 第在excel中读取一条数据就将其插入到数据库中
while (j & sheet.getPhysicalNumberOfRows()) {
HSSFRow row = sheet.getRow(j);
Users user = new Users();
for (int i = 0; i &= 3; i++) {
HSSFCell cell = row.getCell((short) i);
if (i == 0) {
user.setId((int) cell.getNumericCellValue());
} else if (i == 1)
user.setUsername(cell.getStringCellValue());
else if (i == 2)
user.setPassword(cell.getStringCellValue());
else if (i == 3)
user.setUEmail(cell.getStringCellValue());
System.out.println(user.getId() + " " + user.getUsername()
+ " " + user.getPassword() + " " + user.getUEmail());
userdao.save(user);
} catch (FileNotFoundException e2) {
// TODO Auto-generated catch block
System.out.println("notfound");
e2.printStackTrace();
} catch (IOException e3) {
// TODO Auto-generated catch block
System.out.println(e3.toString());
e3.printStackTrace();
} catch (NonUniqueObjectException e4) {
System.out.println(e4.toString());
public JTable CreateTable(String[] columns, Object rows[][]) {
TableModel model = new DefaultTableModel(rows, columns);
table = new JTable(model);
RowSorter sorter = new TableRowSorter(model);
table.setRowSorter(sorter);
@SuppressWarnings("unchecked")
public void fillTable(List&Users& users) {
DefaultTableModel tableModel = (DefaultTableModel) table.getModel();
tableModel.setRowCount(0);// 清除原有行
// 填充数据
for (Users Users : users) {
Vector vector = new Vector&Users&();
vector.add(Users.getId());
vector.add(Users.getUsername());
vector.add(Users.getPassword());
vector.add(Users.getUEmail());
// 添加数据到表格
tableModel.addRow(vector);
// 更新表格
table.invalidate();
@SuppressWarnings("unchecked")
public void tableAddRow(int id, String name, String pwd, String email) {
DefaultTableModel tableModel = (DefaultTableModel) table.getModel();
tableModel.getColumnCount();
// 填充数据
Vector vector = new Vector&Users&();
vector.add(id);
vector.add(name);
vector.add(pwd);
vector.add(email);
// 添加数据到表格
tableModel.addRow(vector);
// 更新表格
table.invalidate();
@SuppressWarnings("unchecked")
public void buildTable() {
String[] n = { "编号", "姓名", "密码", "邮箱" };
list = getUsers();
Object[][] value = new Object[list.size()][4];
for (int i = 0; i & list.size(); i++) {
users = (Users) list.get(i);
value[i][0] = users.getId();
value[i][1] = users.getUsername();
value[i][2] = users.getPassword();
value[i][3] = users.getUEmail();
defaultModel = new DefaultTableModel(value, n) {
boolean[] editables = { false, true, true, true };
public boolean isCellEditable(int row, int col) {
return editables[col];
defaultModel.isCellEditable(1, 1);
table = new JTable(defaultModel);
RowSorter sorter = new TableRowSorter(defaultModel);
table.setRowSorter(sorter);
// 设置排序
((DefaultRowSorter) sorter).setComparator(0, new Comparator&Object&() {
public int compare(Object arg0, Object arg1) {
int a = Integer.parseInt(arg0.toString());
int b = Integer.parseInt(arg1.toString());
return a -
} catch (NumberFormatException e) {
defaultModel.addTableModelListener(new TableModelListener() {
public void tableChanged(TableModelEvent e) {
if (e.getType() == TableModelEvent.UPDATE) {
newvalue = table.getValueAt(e.getLastRow(), e.getColumn())
.toString();
System.out.println(newvalue);
int rowss = table.getEditingRow();
if (newvalue.equals(oldvalue)) {
System.out.println(rowss);
System.out.println(table.getValueAt(rowss, 0) + ""
+ table.getValueAt(rowss, 1) + ""
+ table.getValueAt(rowss, 2) + ""
+ table.getValueAt(rowss, 3));
JOptionPane.showMessageDialog(null, "数据没有修改");
int dialog = JOptionPane.showConfirmDialog(null,
"是否确认修改", "温馨提示", JOptionPane.YES_NO_OPTION);
if (dialog == JOptionPane.YES_OPTION) {
System.out.println(" 修改了");
String s1 = (String) table.getValueAt(rowss, 0)
.toString();
int id = Integer.parseInt(s1);
users = new Users();
users.setId(id);
users.setUEmail(table.getValueAt(rowss, 3)
.toString());
users.setUsername(table.getValueAt(rowss, 1)
.toString());
users.setPassword(table.getValueAt(rowss, 2)
.toString());
userdao.saveOrUpdate2(users);
} catch (NonUniqueObjectException noe) {
new UsersDAO().saveOrUpdate2(users);
} else if (dialog == JOptionPane.NO_OPTION) {
table.setValueAt(oldvalue, rowss, table
.getSelectedColumn());
// System.out.println("没有确认修改");
table.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
// 记录进入编辑状态前单元格得数据
oldvalue = table.getValueAt(table.getSelectedRow(),
table.getSelectedColumn()).toString();
System.out.println(oldvalue);
} catch (Exception ex) {
// TODO: handle exception
public ExcelOutandIn() {
// TODO Auto-generated constructor stub
new BorderLayout();
Font font = new Font("宋体", 4, 14);
add.setFont(font);
save.setFont(font);
delete.setFont(font);
reset.setFont(font);
jp1.add(button1);
jp1.add(button2);
jp2.add(add);
jp2.add(delete);
// jp2.add(save);
jp2.add(reset);
ct = this.getContentPane();
ct.add(jp1, BorderLayout.NORTH);
ct.add(jp2, BorderLayout.SOUTH);
this.setTitle("ToOrFromExcel");
this.setVisible(true);
this.setSize(600, 400);
this.setLocation(400, 250);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if (e.getActionCommand().equals("add")) {
AddUsers adduser = new AddUsers();
jp = new JPanel();
jp.add(adduser);
ct.add(jp, BorderLayout.WEST);
* users= adduser.getU(); if(users==null){
* JOptionPane.showMessageDialog(null, "Null");
// tableAddRow(id, name, pwd, email);
// defaultModel.addRow(v);
if (e.getActionCommand().equals("delete")) {
int srow = 0;
srow = table.getSelectedRow();
} catch (Exception ee) {
int rowcount = defaultModel.getRowCount() - 1;// getRowCount返回行数,rowcount&0代表已经没有任何行了。
if (srow & 0) {
Object id = defaultModel.getValueAt(srow, 0);
String ID = id.toString();
users = userdao.findById(Integer.parseInt(ID));
defaultModel.getRowCount();
System.out.println(ID);
defaultModel.removeRow(srow);
// userdao.delete(users);
defaultModel.setRowCount(rowcount);
if (e.getActionCommand().equals("save")) {
System.out.println("save");
ct.remove(jp);
if (e.getActionCommand().equals("reset")) {
System.out.println("reset");
fillTable(userdao.findAll());
if (e.getActionCommand().equalsIgnoreCase("toexcel")) {
File selectedFile = getSelectedFile(".xls");
if (selectedFile != null) {
String path = selectedFile.getPath();
// System.out.println(path);
ToExcel(path);
} else if (e.getActionCommand().equalsIgnoreCase("FromExcel")) {
File selectedFile = getSelectedOpenFile(".xls");
if (selectedFile != null) {
// String name=selectedFile.getName();
String path = selectedFile.getPath();
FromExcel(path);
fillTable(userdao.findAll());
2.导入导出到Excel工具类ExcelUtil.java
package com.wym.
import java.io.F
* 描述:Excel写操作帮助类
public class ExcelUtil {
* 功能:创建HSSFSheet工作簿
HSSFWorkbook
public static HSSFSheet createSheet(HSSFWorkbook wb,String sheetName){
HSSFSheet sheet=wb.createSheet(sheetName);
sheet.setDefaultColumnWidth(12);
sheet.setGridsPrinted(false);
sheet.setDisplayGridlines(false);
* 功能:创建HSSFRow
public static HSSFRow createRow(HSSFSheet sheet,int rowNum,int height){
HSSFRow row=sheet.createRow(rowNum);
row.setHeight((short)height);
public static HSSFCell createCell0(HSSFRow row,int cellNum){
HSSFCell cell=row.createCell(cellNum);
* 功能:创建CELL
public static HSSFCell createCell(HSSFRow row,int cellNum,CellStyle style){
HSSFCell cell=row.createCell(cellNum);
cell.setCellStyle(style);
* 功能:创建CellStyle样式
HSSFWorkbook
backgroundColor
foregroundColor
public static CellStyle createCellStyle(HSSFWorkbook wb,short backgroundColor,short foregroundColor,short halign,Font font){
CellStyle cs=wb.createCellStyle();
cs.setAlignment(halign);
cs.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
cs.setFillBackgroundColor(backgroundColor);
cs.setFillForegroundColor(foregroundColor);
cs.setFillPattern(CellStyle.SOLID_FOREGROUND);
cs.setFont(font);
* 功能:创建带边框的CellStyle样式
HSSFWorkbook
backgroundColor
foregroundColor
public static CellStyle createBorderCellStyle(HSSFWorkbook wb,short backgroundColor,short foregroundColor,short halign,Font font){
CellStyle cs=wb.createCellStyle();
cs.setAlignment(halign);
cs.setVerticalAlignment(CellStyle.VERTICAL_CENTER);
cs.setFillBackgroundColor(backgroundColor);
cs.setFillForegroundColor(foregroundColor);
cs.setFillPattern(CellStyle.SOLID_FOREGROUND);
cs.setFont(font);
cs.setBorderLeft(CellStyle.BORDER_DASHED);
cs.setBorderRight(CellStyle.BORDER_DASHED);
cs.setBorderTop(CellStyle.BORDER_DASHED);
cs.setBorderBottom(CellStyle.BORDER_DASHED);
* 功能:多行多列导入到Excel并且设置标题栏格式
public static void writeArrayToExcel(HSSFSheet sheet,int rows,int cells,Object [][]value){
Row row[]=new HSSFRow[rows];
Cell cell[]=new HSSFCell[cells];
for(int i=0;i&row.i++){
row[i]=sheet.createRow(i);
for(int j=0;j&cell.j++){
cell[j]=row[i].createCell(j);
cell[j].setCellValue(convertString(value[i][j]));
* 功能:多行多列导入到Excel并且设置标题栏格式
public static void writeArrayToExcel(HSSFWorkbook wb,HSSFSheet sheet,int rows,int cells,Object [][]value){
Row row[]=new HSSFRow[rows];
Cell cell[]=new HSSFCell[cells];
HSSFCellStyle ztStyle =
(HSSFCellStyle)wb.createCellStyle();
Font ztFont = wb.createFont();
ztFont.setBoldweight(Font.BOLDWEIGHT_BOLD);
//ztFont.setItalic(true);
// 设置字体为斜体字
// ztFont.setColor(Font.COLOR_RED);
// 将字体设置为&红色&
ztFont.setFontHeightInPoints((short)10);
// 将字体大小设置为18px
ztFont.setFontName("华文行楷");
// 将&华文行楷&字体应用到当前单元格上
// ztFont.setUnderline(Font.U_DOUBLE);
ztStyle.setFont(ztFont);
for(int i=0;i&row.i++){
row[i]=sheet.createRow(i);
for(int j=0;j&cell.j++){
cell[j]=row[i].createCell(j);
cell[j].setCellValue(convertString(value[i][j]));
cell[j].setCellStyle(ztStyle);
* 功能:合并单元格
firstColumn
lastColumn
合并区域号码
public static int mergeCell(HSSFSheet sheet,int firstRow,int lastRow,int firstColumn,int lastColumn){
return sheet.addMergedRegion(new CellRangeAddress(firstRow,lastRow,firstColumn,lastColumn));
* 功能:创建字体
HSSFWorkbook
boldweight
public static Font createFont(HSSFWorkbook wb,short boldweight,short color,short size){
Font font=wb.createFont();
font.setBoldweight(boldweight);
font.setColor(color);
font.setFontHeightInPoints(size);
* 设置合并单元格的边框样式
CellRangAddress
public static void setRegionStyle(HSSFSheet sheet, CellRangeAddress ca,CellStyle style) {
for (int i = ca.getFirstRow(); i &= ca.getLastRow(); i++) {
HSSFRow row = HSSFCellUtil.getRow(i, sheet);
for (int j = ca.getFirstColumn(); j &= ca.getLastColumn(); j++) {
HSSFCell cell = HSSFCellUtil.getCell(row, j);
cell.setCellStyle(style);
* 功能:将HSSFWorkbook写入Excel文件
HSSFWorkbook
写入文件的相对路径
public static void writeWorkbook(HSSFWorkbook wb,String fileName){
FileOutputStream fos=null;
File f=new File(fileName);
fos=new FileOutputStream(f);
wb.write(fos);
int dialog = JOptionPane.showConfirmDialog(null,
f.getName()+"导出成功!是否打开?",
"温馨提示", JOptionPane.YES_NO_OPTION);
if (dialog == JOptionPane.YES_OPTION) {
Runtime.getRuntime().exec("cmd /c start \"\" \"" + fileName + "\"");
} catch (FileNotFoundException e) {
JOptionPane.showMessageDialog(null, "导入数据前请关闭工作表");
} catch ( Exception e) {
JOptionPane.showMessageDialog(null, "没有进行筛选");
} finally{
if(fos!=null){
fos.close();
} catch (IOException e) {
public static String convertString(Object value) {
if (value == null) {
return "";
return value.toString();
导入的Excel格式
原文:/J-wym/p/3260722.html
阅读(...) 评论()
哈哈,页脚部分。

我要回帖

更多关于 ponroy sante 的文章

 

随机推荐