【内容介绍】:由数据库中商品名与exl中商品名来更新数据库中信息。
【详细介绍】:
描述:根据exl中productName的值来更新对应的数据库中的有关的数据。此处,由productName的值来更新对应的表中的firstParagraph,secondParagraph.
1、 表结构:
2、
3、 实现代码
package com.pominfo.demo.system.action;
import jxl.*;
import jxl.format.UnderlineStyle;
import jxl.write.*;
import jxl.write.Number;
import jxl.write.Boolean;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.pominfo.demo.system.biz.BookMgr;
import com.pominfo.demo.system.biz.ProductMgr;
import com.pominfo.demo.system.model.Book;
import com.pominfo.demo.system.model.Product;
import com.pominfo.framework.pub.Paginated;
import com.pominfo.framework.struts.PomInfoAction;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ActionContext;
import java.sql.*;
import java.text.SimpleDateFormat;
import javax.sql.*;
import javax.swing.JOptionPane;
import javax.naming.*;
import java.util.*;
import java.util.regex.Pattern;
import org.apache.struts2.ServletActionContext;
import java.util.Date;
import java.io.*;
/**
* @author huasq
* action类 显示有关的药品的信息
*/
public class ProductAction extends PomInfoAction
{
private Product product=new Product();
private ProductMgr productMgr;
private List<Product> productList;
private File upload;//上传的文件
private String fileName;
private String contentType;
public File getUpload() {
return upload;
}
public void setUpload(File upload) {
this.upload = upload;
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public String getContentType() {
return contentType;
}
public void setContentType(String contentType) {
this.contentType = contentType;
}
public Product getProduct() {
return product;
}
public void setProduct(Product product) {
this.product = product;
}
public ProductMgr getProductMgr() {
return productMgr;
}
public void setProductMgr(ProductMgr productMgr) {
this.productMgr = productMgr;
}
public List<Product> getProductList() {
return productList;
}
public void setProductList(List<Product> productList) {
this.productList = productList;
}
/*
*
*/
public String ShowProducts()
{
//注意:
try{
//1.获取有关的数据库中的name值
List<Product> productList=productMgr.ShowProducts(product);
if(productList.size()>0)
{
/*String file=upload.getName();
int start = file.lastIndexOf("\\");
this.fileName= file.substring(start + 1);
java.io.FileInputStream is=new java.io.FileInputStream(upload);*/
File file=new File("e:\\ddd.xls");
Workbook book = Workbook.getWorkbook(file);
Sheet se = book.getSheet(0);//得到第1个sheet(Excel通常会有3个Sheet)
int rownum = se.getRows(); //得到总行数
int col=se.getColumns();
for(int j=0;j<productList.size();j++)
{
for(int i=2;i<rownum;i++)//i表示行数的变量
{
//2.获取xls的值并和获得的数据库中值进行比较
if(productList.get(j).getProductName().equals(se.getCell(0,i).getContents()))
{
//3.进行有关的赋值
product.setProductName(productList.get(j).getProductName());
product.setFirstParagraph(se.getCell(1,i).getContents());
product.setSecondParagraph(se.getCell(2,i).getContents());
//4.执行更新方法
productMgr.UpdateProduct(product);
}
}
}
this.showAll();
}
}catch(Exception e){}
return SUCCESS;
}
public String showAll(){
try{
this.setProductList(productMgr.ShowAll(product));
}catch(Exception e){}
return SUCCESS;
}
private String reExcelFileName()
{
String str = null;
Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("MMddHHmmss");
int i = (int) (Math.random() * 1000);
System.out.println(i);
if (i > 10 && i < 100) {
str = sdf.format(d) + "0" + i;
}
if (i < 10)
{
str = sdf.format(d) + "00" + i;
}
if (i > 100) {
str = sdf.format(d) + i;
}
return str;
}
}
页面截图:
【完成情况】:完成
【要点小结】:
1.由xls向数据库中进行信息的修改的实现思路:
A..获取有关的数据库中的name值
B..获取xls的值并和获得的数据库中值进行比较,
C.进行有关的赋值
D..执行更新方法
【参考资料】:
Java解析Excel文件 - 企业应用 - New - JavaEye论坛.htm
分享到:
相关推荐
当我们拥有大量数据存储在Excel(通常写作"exl",但应为"xlsx"或"xls")文件中时,有时需要将这些数据导入到数据库中以便进行更高效、更复杂的查询和分析。本主题将详细介绍如何批量地将Excel文件中的数据导入到...
数据库与Excel之间的数据转换是日常数据管理中常见的需求,尤其在数据分析、报表制作以及数据迁移等场景下。本文将详细讲解如何实现这个过程,并提供一个包含jar包和源码的解决方案,以及数据库创建的SQL文件。 ...
这个案例提供了一种方法,通过Java实现这一功能,并且具有高度的可复用性,只需要简单地调整数据库连接信息和对应的数据实体类即可。 首先,我们需要了解Java中用于操作数据库的基本库——JDBC(Java Database ...
首先,我们需要建立与Oracle数据库的连接,并执行SQL查询语句来获取数据。 - **OracleConnection类**:用于创建一个数据库连接。 - **属性**: - `ConnectionString`:指定连接字符串,该字符串包含连接数据库所需...
在IT行业中,Excel(通常写作"exl")是一种广泛使用的电子表格软件,它提供了强大的数据处理和分析功能。PHP是一种流行的服务器端脚本语言,常用于开发Web应用程序。将Excel与PHP结合,可以实现数据的导入和导出,这...
Excel作为常用的数据整理工具,有时需要与更强大的数据库系统如Oracle进行交互,实现数据的导入导出。本文将深入探讨如何将Excel数据导入到Oracle数据库中,以及涉及到的相关技术点。 首先,我们要理解Excel文件的...
这个EXL格式的汉字与拼音对照表提供了一个高效的方式来完成汉字与拼音之间的转换,这对于学习者、开发者以及需要处理中文数据的项目来说是极其宝贵的资源。 1. **EXL格式**:EXL通常是指Excel格式,由Microsoft ...
在IT行业中,Excel和数据库是两个非常重要的工具,它们各自在数据管理方面发挥着不可或缺的作用。Excel是一款功能强大的电子表格程序,适用于数据整理、分析和报告制作;而数据库则是一种更为专业的系统,用于存储和...
本文将深入探讨如何进行EXL文件的修复,并介绍与之相关的知识点。 1. **文件损坏原因**: - 系统崩溃:在操作EXL文件时,如果操作系统突然关闭或重启,可能导致文件未完整保存。 - 病毒感染:恶意软件或病毒可能...
在这个例子中,我们使用JDBC来连接数据库。首先,需要加载数据库驱动,然后调用`DriverManager.getConnection()`方法获取数据库连接。在代码中,`"省略"`部分应替换为实际的数据库URL、用户名和密码。 2. **开启...
- **数据转换与导入**:将数据表中的数据转换为适合Excel的数据结构,并通过调用`DataTableToExcel`方法将数据导入到Excel工作表中。 ##### 2. 数据表转换为Excel工作表 在.NET中,可以使用如下方法将数据表转换为...
在IT行业中,Excel文件(通常写作“exl”,但正确的扩展名是.xlsx)是一种广泛用于数据存储、管理和分析的工具。在Web应用开发中,有时我们需要处理用户上传的Excel文件,例如通过前端EXTForm组件进行上传。这个过程...
首先,要理解的是,".exl"文件格式通常指的是Microsoft Excel文件,但常见的扩展名是".xls"或".xlsx"。在这里,我们假设".exl"是笔误,实际指的是".xls"或".xlsx"。处理这两种格式可能需要不同的库,因为".xls"是老...
标题 "Delphi 7数据库内容导出至Excel表格源码" 涉及到的是一个在 Delphi 7 开发环境中实现的程序,该程序能够从SQL Server 2000数据库中读取数据并将其导出到Excel电子表格中。这个功能在数据管理和分析工作中极其...
POI 对exl表格操作中文文档和案例
身份证号码归属地信息库,Excel原生格式,可以根据区域地址自动确认相关信息。请参照附件下载,问题是省市和县区是分开的,可能需要整理下。感谢。
或者通过逆向工程从现有数据库中生成模型,以对比和更新Excel中的数据结构。 总结,将Excel导入到PowerDesigner是一个有效的方法,可以加速数据库设计的过程,特别是当你已经有了详细的数据结构或业务流程描述时。...
在电子科技16春《数据库原理及应用》在线作业3中,涉及了多个关于数据库的知识点,主要包括: 1. **封锁粒度**:在数据库管理系统中,封锁是并发控制的一种方法,用于确保数据的一致性。封锁的对象可以是数据库、表...
在ASP.NET开发中,将Excel文件(exl)上传到GridView是一种常见的数据处理需求,尤其在数据导入、分析和展示的场景中。本教程将详细解释如何利用FileUpload控件实现这一功能,并结合GridView控件进行数据展示。 ...