java添加功能显示到页面上,(网页显示excel表格的数据库)你好! 请教你个问题 java web程序如何将读取的excel表格里的数据插入到数据库,并显示在JSP页面上?...

你好! 请教你个问题 java web程序如何将读取的excel表格里的数据插入到数据库,并显示在JSP页面上?

代码就嘞。。太多。。。而且这东西痛过一次就。。。

给你个思路。。。首先分解问题

1.java后台要读取excel,就需要用到 上传功能 怎么传搜度娘

2.java读取excel 我用的是jxl这个jar 怎么用搜度娘

3.插入数据库 insert就好 考虑性能和效率 建议用批量

4.显示在jsp select就好

关键的代码 网上都有 复制改就好 但是规则一定要自己想好

如何把从数据库读出来的数据以excel格式显示到网页

你用的是ORACLE数据库

1.打开PL/SQL dev

2.File——New——Report Window,在中入你的SELECT语句,得到你表或视图

3.在点击"Save as excel"或者"Save as HTML"就可以了!非常方便

希望能帮到你!

C#语言在网页上将excel中的内容导入到SQL数据库表中

我给你一段代码吧:其站里很多的代码:

public DataSet ExecleDs(string filenameurl, string table)

{

string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" "data source=" filenameurl ";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'";

OleDbConnection conn = new OleDbConnection(strConn);

conn.Open();

DataSet ds = new DataSet();

OleDbDataAdapter odda = new OleDbDataAdapter("select * from [Sheet1$]", conn);

odda.Fill(ds, table);

return ds;

}

protected void Button8_Click(object sender, EventArgs e)//确定添加键

{

string strConn = "Data Source=.;DataBase=gongnuan;Uid=sa;Pwd=sa";

if (FileUpload1.HasFile == false)//HasFile用查FileUpload是否有指定

{

Response.Write("alert('请您选择Excel文件') ");

return;//当无文件时,返回

}

string IsXls = System.IO.Path.GetExtension(FileUpload1.FileName).ToString().ToLower();//System.IO.Path.GetExtension获得文件的扩展名

if (IsXls != ".xls")

{

Response.Write("alert('只可以选择Excel文件')");

return;//当选择的不是Excel文件时,返回

}

SqlConnection cn = new SqlConnection(strConn);

cn.Open();

string filename = FileUpload1.FileName; //获取Execle文件名 DateTime日期函数

string savePath = Server.MapPath(("~\\upfiles\\") filename);//Server.MapPath 获得虚拟服务器相对路径

FileUpload1.SaveAs(savePath); //SaveAs 将上传的文件内容保存在服务器上

DataSet ds = ExecleDs(savePath, filename); //调用自定义方法

DataRow[] dr = ds.Tables[0].Select(); //定义一个DataRow数组

int rowsnum = ds.Tables[0].Rows.Count;

if (rowsnum == 0)

{

Response.Write("alert('Excel表为空表,无数据!')"); //当Excel表为空时,对用户进行提示

}

else

{

for (int i = 0; i < dr.Length; i )

{

string pininputdate = dr[i]["excel列名"].ToString();//日期 excel列名【名称不能变,否则就会出错】

string insertstr = "insert语句";

SqlCommand cmd = new SqlCommand(insertstr, cn);

try

{

cmd.ExecuteNonQuery();

}

catch (MembershipCreateUserException ex) //捕捉异常

{

Response.Write("alert('导入内容:" ex.Message "')");

}

}

Response.Write("alert('Excle表导入成功!');location='default.aspx'");

}

cn.Close();

}

你可以好好研究下

你好! 请教你个问题 java web程序如何将读取的excel表格里的数据插入到数据库,并显示在JSP页面上?

主要用poi.jar 包。包含两个jar就可以了:poi-3.16.jar、poi-ooxml-3.16.jar

主要方法分三步:

/**

* filePath 路径

* unCaseRow  要排除的行数(从下)

* unCaseLine  要排除的列数(从左往右)

*/

public List readExcel(String filePath, int unCaseRow, int unCaseLine) throws Exception {

Sheet sheet = null;

FileInputStream inStream = null;

try {

inStream = new FileInputStream(new File(filePath));

Workbook workBook = WorkbookFactory.create(inStream);

sheet = workBook.getSheetAt(0);

} catch (Exception e) {

e.printStackTrace();

throw new Exception();

} finally {

try {

if (inStream != null) {

inStream.close();

}

} catch (IOException e) {

e.printStackTrace();

}

}

List list = init(sheet, unCaseRow, unCaseLine);// 需要排除行数

return list;

}

// 初始化表格中的每一行,并得到每一个单元格的值

private List init(Sheet sheet, int unCaseRow, int unCaseLine) {

int rowNum = sheet.getLastRowNum()   1; // 从零开始

List result = new ArrayList();

String[] rowArr = null;

Row row = null;

Cell cell = null;

int rowLength = 0;

int rowIndex = 0;

String rowStr = null;

for (int i = unCaseRow; i 

row = sheet.getRow(i);

// 每有新的一行,创建一个新的LinkedList对象

rowLength = row.getLastCellNum();

rowIndex = 0;

rowArr = new String[LINECOUNT];

for (int j = unCaseLine; j 

cell = row.getCell(j);

// 获取单元格的值

rowStr = getCellValue(cell);

// 将得到的值放入链表中

rowArr[rowIndex ] = rowStr;

}

result.add(rowArr);

}

return result;

}

// 获取单元格的值

@SuppressWarnings("deprecation")

private String getCellValue(Cell cell) {

String cellValue = "";

DataFormatter formatter = new DataFormatter();

if (cell != null) {

// 判断单元格数据的类型,不同类型调用不同的方法

switch (cell.getCellType()) {

// 数值类型

case Cell.CELL_TYPE_NUMERIC:

// 进一步判断 ,单元格格式是日期格式

if (DateUtil.isCellDateFormatted(cell)) {

cellValue = formatter.formatCellValue(cell);

} else {

// 数值

double value = cell.getNumericCellValue();

int intValue = (int) value;

cellValue = value - intValue == 0 ? String.valueOf(intValue) : String.valueOf(value);

}

break;

case Cell.CELL_TYPE_STRING:

cellValue = cell.getStringCellValue();

break;

case Cell.CELL_TYPE_BOOLEAN:

cellValue = String.valueOf(cell.getBooleanCellValue());

break;

// 判断单元格是公式格式,需要做一种特殊处理来得到相应的值

case Cell.CELL_TYPE_FORMULA: {

try {

cellValue = String.valueOf(cell.getNumericCellValue());

} catch (IllegalStateException e) {

cellValue = String.valueOf(cell.getRichStringCellValue());

}

}

break;

case Cell.CELL_TYPE_BLANK:

cellValue = "";

break;

case Cell.CELL_TYPE_ERROR:

cellValue = "";

break;

default:

cellValue = cell.toString().trim();

break;

}

}

return cellValue.trim();

}

解析成对象以后,不论是插入数据库,还是jsp,都是一样的。

插入数据库:hibernate、mybatis

在jsp显示:对象封装进list,在页面显示list。

在网页上用Excel报表操作数据库

我的建议是

不要这样在表页建立excel,感觉不是很现实

建议使用infopath(同样是office组件)做xml

背后连上access或者excel

这个方案更适合网上表单填写采集

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:1024 设计师:我叫白小胖 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值