`

生成EXCEL并上传到服务器上

    博客分类:
  • java
阅读更多
package hz;

import java.io.FileOutputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

public class Make{

// public static void main(String []args){
  //String path= request.getRealPath("/") +"/download/info.xls";
// Make mk = new Make();
//  mk.abc(path);
/// }

public  void abc(String path){
  HSSFWorkbook wb = new HSSFWorkbook(); // 建立新HSSFWorkbook对象

  HSSFSheet sheet = wb.createSheet();
  // wb.setSheetName(0, "", HSSFWorkbook.ENCODING_UTF_16);
  sheet.setDefaultColumnWidth((short) 15);
  //HashMap hm = new HashMap();
  //String cj02005 = (String)hm.get("CJ02005");
  //System.out.println(cj02005);
  // 样式2 宋体 写正文时用
  HSSFFont font2 = wb.createFont();
  font2.setColor(HSSFFont.COLOR_NORMAL);
  font2.setFontName("宋体");
  font2.setFontHeightInPoints((short) 12);
  HSSFCellStyle normal = wb.createCellStyle();
  normal.setFont(font2);
  normal.setAlignment(HSSFCellStyle.ALIGN_LEFT); // 水平居中
  normal.setVerticalAlignment(HSSFCellStyle.VERTICAL_TOP); // 垂直居中
  normal.setDataFormat(HSSFDataFormat.getBuiltinFormat("@"));
  HSSFRow row = null;
  HSSFCell cell = null;
  HSSFCell csCell = null;

  // 行
  int i = 0;

  row = sheet.createRow((short) i);
  cell = row.createCell((short) (0)); // 建立新cell
  cell.setCellStyle(normal);
  cell.setEncoding(HSSFCell.ENCODING_UTF_16); // 设置cell编码解决中文高位字节截断
  cell.setCellValue("姓名"); // 设置中西文结合字符串
 
  row = sheet.createRow((short) i);
  cell = row.createCell((short) (1)); // 建立新cell
  cell.setCellStyle(normal);
  cell.setEncoding(HSSFCell.ENCODING_UTF_16); // 设置cell编码解决中文高位字节截断
  cell.setCellValue("性别"); // 设置中西文结合字符串

  row = sheet.createRow((short) i);
  cell = row.createCell((short) (2)); // 建立新cell
  cell.setCellStyle(normal);
  cell.setEncoding(HSSFCell.ENCODING_UTF_16); // 设置cell编码解决中文高位字节截断
  cell.setCellValue("民族"); // 设置中西文结合字符串

  row = sheet.createRow((short) i);
  cell = row.createCell((short) (3)); // 建立新cell
  cell.setCellStyle(normal);
  cell.setEncoding(HSSFCell.ENCODING_UTF_16); // 设置cell编码解决中文高位字节截断
  cell.setCellValue("卡号"); // 设置中西文结合字符串

  row = sheet.createRow((short) i);
  cell = row.createCell((short) (4)); // 建立新cell
  cell.setCellStyle(normal);
  cell.setEncoding(HSSFCell.ENCODING_UTF_16); // 设置cell编码解决中文高位字节截断
  cell.setCellValue("身份证号"); // 设置中西文结合字符串
 
  row = sheet.createRow((short) i);
  cell = row.createCell((short) (5)); // 建立新cell
  cell.setCellStyle(normal);
  cell.setEncoding(HSSFCell.ENCODING_UTF_16); // 设置cell编码解决中文高位字节截断
  cell.setCellValue("银行行号"); // 设置中西文结合字符串
 
  row = sheet.createRow((short) i);
  cell = row.createCell((short) (6)); // 建立新cell
  cell.setCellStyle(normal);
  cell.setEncoding(HSSFCell.ENCODING_UTF_16); // 设置cell编码解决中文高位字节截断
  cell.setCellValue("银行卡号"); // 设置中西文结合字符串
 
  String sql = "SELECT CJ02005,CJ02006,CJ02007,CJ02029,CJ02004,CJ02027,CJ02028 FROM T_CJ02";
  ResultSet rs = this.sel(sql);
  try {
   while(rs.next()){
    row = sheet.createRow((short) i + 1);
    cell = row.createCell((short) (0)); // 建立新cell
    cell.setCellStyle(normal);
    cell.setEncoding(HSSFCell.ENCODING_UTF_16); // 设置cell编码解决中文高位字节截断
    cell.setCellValue(rs.getString("CJ02005")); // 设置中西文结合字符串
    System.out.println(rs.getString("CJ02005"));
   
    cell = row.createCell((short) (1)); // 建立新cell
    cell.setCellStyle(normal);
    cell.setEncoding(HSSFCell.ENCODING_UTF_16); // 设置cell编码解决中文高位字节截断
    cell.setCellValue(rs.getString("CJ02006")); // 设置中西文结合字符串

    cell = row.createCell((short) (2)); // 建立新cell
    cell.setCellStyle(normal);
    cell.setEncoding(HSSFCell.ENCODING_UTF_16); // 设置cell编码解决中文高位字节截断
    cell.setCellValue(rs.getString("CJ02007")); // 设置中西文结合字符串

    cell = row.createCell((short) (3)); // 建立新cell
    cell.setCellStyle(normal);
    cell.setEncoding(HSSFCell.ENCODING_UTF_16); // 设置cell编码解决中文高位字节截断
    cell.setCellValue(rs.getString("CJ02029")); // 设置中西文结合字符串
   
    cell = row.createCell((short) (4)); // 建立新cell
    cell.setCellStyle(normal);
    cell.setEncoding(HSSFCell.ENCODING_UTF_16); // 设置cell编码解决中文高位字节截断
    cell.setCellValue(rs.getString("CJ02004")); // 设置中西文结合字符串

    cell = row.createCell((short) (5)); // 建立新cell
    cell.setCellStyle(normal);
    cell.setEncoding(HSSFCell.ENCODING_UTF_16); // 设置cell编码解决中文高位字节截断
    cell.setCellValue(rs.getString("CJ02027")); // 设置中西文结合字符串

    cell = row.createCell((short) (6)); // 建立新cell
    cell.setCellStyle(normal);
    cell.setEncoding(HSSFCell.ENCODING_UTF_16); // 设置cell编码解决中文高位字节截断
    cell.setCellValue(rs.getString("CJ02028")); // 设置中西文结合字符串
   
    i++;
   }
  } catch (SQLException e) {
   e.printStackTrace();
  }
  try {
   FileOutputStream fileOut = new FileOutputStream(path);
   wb.write(fileOut);
   fileOut.close();
   System.out.println("====动态模板文件excel文件生成成功:========" + path);
  } catch (Exception e1) {
   e1.printStackTrace();
  }
}
public ResultSet sel(String sql){
  Connection con = null;
  ResultSet rs = null;
  //String sql = "SELECT CJ02005,CJ02006,CJ02007,CJ02029,CJ02004,CJ02027,CJ02028 FROM T_CJ02";
  try{
   con = DataConnection.getConnection();
   Statement stt = con.createStatement();
   rs = stt.executeQuery(sql);
  
  }catch(Exception e){
   e.printStackTrace();
  }
  return rs;
}
}







  <body><br>
    <%
     String path= request.getRealPath("/") +"download/info.xls";
     Make mk = new Make();
     mk.abc(path);
     %>
  </body>
分享到:
评论

相关推荐

    java poi 根据excel模板生成excel文件

    在Java中,我们可以使用POI API来读取模板文件,然后在模板的基础上填充自定义数据,生成新的Excel文件。 1. **安装和引入POI库** 在Java项目中使用POI,你需要将`poi-ooxml`相关的JAR文件添加到项目的类路径中。...

    echart生成表格上传图片到服务器

    本项目完整带全部jar包,可直接运行,包含echarts表格绘制,图片上传,base64图片解析,图片写入到excel,导出excel表格,文件下载,使用的是入门级别的技术servlet,博客...

    POI实现的excel的上传下载

    Excel上传通常涉及到以下步骤: - **文件上传接收**:首先,你需要在服务器端设置一个接口,通过HTTP请求接收用户上传的Excel文件。这可以通过Servlet或Spring MVC等框架实现。 - **解析文件**:接收到文件后,使用...

    poi +jsp 实现excel的上传下载的小例子

    这三个链接可能分别对应于查看Excel数据、上传新的Excel文件以及下载服务器上的Excel文件。此外,“最最重要的是里面的类可以复用”,意味着代码设计考虑了可重用性,开发者可以根据这个示例轻松地将相关功能融入到...

    获取数据导出到excel中并上传到ftp服务器.pdf

    这两个方法主要用于从数据源中导出数据到Excel文件,并将生成的Excel文件上传到FTP服务器。 首先,`askForExportAndUploadMaterialReceive()`方法是整个流程的入口,它调用了`askForExportMaterialReceive()`来处理...

    Java上传下载excel、解析Excel、生成Excel的问题.docx

    下载Excel文件通常涉及将服务器上的文件以HTTP响应的形式发送到客户端。在Java中,我们可以使用Servlet API来实现这一功能。在提供的代码示例中,`downLoadExcelModel` 方法首先获取到文件的服务器路径,并通过`...

    获取数据导出到excel中并上传到ftp服务器.docx

    这个方法同样记录了操作开始的时间,并创建了与导出文件相同名字的变量,用于构建远程服务器上的文件名。然而,在给定的代码片段中,`path` 变量的后续部分(即FTP服务器的路径)并未完全给出,因此完整的FTP上传...

    Excel表格上传下载功能

    下载则是相反的过程,服务器根据请求生成Excel文件(可能是新生成的,也可能是从数据库中提取的),然后将其作为响应发送回客户端,用户可以保存到本地。 在实际开发中,为了实现这些功能,我们需要掌握以下几个...

    jquery上传下载excel模板

    下载Excel文件通常涉及服务器端生成Excel文件或者提供已有的Excel文件链接。在客户端,我们可以创建一个隐藏的`&lt;a&gt;`标签,然后触发点击事件来下载: ```javascript function downloadExcel(url) { var aLink = ...

    Excel上传并解析java对象

    在IT行业中,Excel上传并解析Java对象是一项常见的数据处理任务,尤其在数据分析、报表生成以及数据导入导出等场景中尤为常见。这个过程涉及到的主要技术包括文件上传、Excel读取、数据转换以及Java对象映射。下面将...

    C# 导入Excel读取图片上传

    在C#编程环境中,导入Excel并读取其中的图片上传是一项常见的任务,特别是在处理数据导入、数据分析或报表生成等场景。下面将详细讲解如何利用C#实现这一功能,包括使用.NET框架提供的组件以及第三方库。 首先,...

    ABAP中怎样使用上传到服务器上的excle模板处理打印程序[借鉴].pdf

    总结来说,ABAP中使用上传到服务器的Excel模板处理打印程序主要包括模板的上传、服务器上模板的检查与下载,以及数据的填充和报表生成。通过这些步骤,你可以创建一个灵活且可定制的报表生成系统,满足不同用户的...

    JAVA 中excel的上传下载

    3. **文件存储**:文件会被临时存储在服务器上,通常是在一个配置好的临时目录中,例如`java.io.tmpdir`。 4. **验证与处理**:使用Apache POI读取Excel内容,进行数据验证和业务处理。例如,`WorkbookFactory....

    jsp关于excel的上传下载

    - **生成Excel**:根据需要,我们可以动态生成Excel文件,比如根据数据库查询结果创建报表。 - **设置响应头**:在Servlet中,设置HTTP响应头,包括`Content-Type`(通常为`application/vnd.ms-excel`或`...

    java生成并下载excel

    5. **下载Excel文件**:当Excel文件准备完毕后,你可以将其保存到服务器的一个临时文件,并提供一个HTTP链接供用户下载。使用`Response`对象设置响应头,比如`Content-Disposition`设置为`attachment; filename=...

    excel 通过jsp上传到数据库

    标题“excel通过jsp上传到数据库”明确指出,目标是将Excel文件中的数据导入到Oracle数据库中。描述进一步说明了具体的目标数据库表。这通常发生在需要批量更新或初始化数据库表的情况下,比如产品目录的更新、销售...

    jsp实现excel上传至数据库,以及 从数据库导出excel

    本项目以"jsp实现excel上传至数据库,以及从数据库导出excel"为主题,提供了一种实用的方法,适合初学者学习。下面将详细解释这个过程涉及的关键技术点。 1. JSP(JavaServer Pages):JSP是一种动态网页技术,允许...

    jsp上传多个excel文件,解析入库,批量导出excel文件

    jsp页面可以批量上传多个excel文件,后台解析入库。并将信息展现在jsp页面表格里,勾选多个数据,可以导出excel文件。很方便,很实用!(每一行数据,就相当于表格里的某张表的一条信息,后期只要改下表结构,数据库...

    asp.net excel上传

    总的来说,ASP.NET实现Excel上传涉及前端文件选择,后端文件接收、处理、数据读取,以及可能的数据存储操作。这个过程需要对ASP.NET Web开发、文件操作、Excel处理库和数据库交互有深入理解。通过合理的代码组织和...

    JavaWeb中对Excel上传下载学习

    以上就是JavaWeb中处理Excel上传下载的基本流程。在这个过程中,Eclipse作为开发环境,可以帮助我们编写和调试代码;MySQL作为数据库,用于存储上传的数据。在实际项目中,还需要考虑异常处理、安全性(防止文件注入...

Global site tag (gtag.js) - Google Analytics