精华内容
下载资源
问答
  • java实现读取excel修改部分内容最终写入到新的文件中pom.xml引入相关的jxl.jar与poi.jarpom文件如下net.sourceforge.jexcelapijxl2.6.12org.apache.poipoi3.17java实现具体代码如下:package Util;import java.io....

    java实现读取excel并修改部分内容最终写入到新的文件中

    pom.xml引入相关的jxl.jar与poi.jar

    pom文件如下

    net.sourceforge.jexcelapi

    jxl

    2.6.12

    org.apache.poi

    poi

    3.17

    java实现具体代码如下:

    package Util;

    import java.io.File;

    import java.io.FileInputStream;

    import java.io.FileNotFoundException;

    import java.io.FileOutputStream;

    import java.io.FileReader;

    import java.io.IOException;

    import java.io.InputStream;

    import java.io.InputStreamReader;

    import org.apache.poi.hssf.usermodel.HSSFCell;

    import org.apache.poi.hssf.usermodel.HSSFComment;

    import org.apache.poi.hssf.usermodel.HSSFRow;

    import org.apache.poi.hssf.usermodel.HSSFSheet;

    import org.apache.poi.hssf.usermodel.HSSFWorkbook;

    import org.apache.poi.ss.util.CellAddress;

    import jxl.Cell;

    import jxl.Sheet;

    import jxl.Workbook;

    import jxl.read.biff.BiffException;

    import jxl.write.Label;

    import jxl.write.WritableCell;

    import jxl.write.WritableSheet;

    import jxl.write.WritableWorkbook;

    public class ExcelHandler {

    /**

    * jxl读取文件

    *workbook为只读文件 可以读取内容

    * @throws BiffException

    * @throws IOException

    */

    public static void ExcelReader(){

    File file=new File("C:\\Users\\Administrator\\Desktop\\excels\\example.xls");

    Workbook workbook;

    try {

    workbook = Workbook.getWorkbook(file);

    Sheet sheet=workbook.getSheet(0);

    Cell cell=sheet.getCell(2, 1);

    Cell cell1=sheet.getCell(2, 1);

    Cell cell2=sheet.getCell(2, 1);

    Cell cell3=sheet.getCell(2, 1);

    System.out.println(cell.getContents());

    } catch (BiffException | IOException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    }

    /**‘

    * jxl实现excel读取并输出

    * 读取excel修改之后重新输出

    */

    public static void ModifyExcelAndOutput() {

    try {

    File file=new File("C:\\Users\\Administrator\\Desktop\\excels\\example.xls");

    //这里读出来的workbook作为模版

    Workbook workbook=Workbook.getWorkbook(file);

    //这里是将要输出的workbook

    for(int i=0;i<2;i++){//这里模拟输出两个文件

    //输出文件名

    String outFileName="C:\\Users\\Administrator\\Desktop\\excels\\output"+i+".xls";

    // jxl.Workbook 对象是只读的,所以如果要修改Excel,需要创建一个可读的副本,副本指向原Excel文件(即下面的new File(excelpath))

    //WritableWorkbook如果直接createWorkbook模版文件会覆盖原有的文件

    WritableWorkbook writeBook=Workbook.createWorkbook(new File(outFileName),workbook);

    //读取第一个sheet

    WritableSheet sheet=writeBook.getSheet(0);

    //读取将要修改的cell

    WritableCell cell=sheet.getWritableCell(2, 1);

    //获取上一部cell的格式

    jxl.format.CellFormat cf=cell.getCellFormat();

    Label lable=new Label(2, 1, "商户名称:修改后的商户名"+i);

    //将修改后的单元格格式设置成和原来一样的

    lable.setCellFormat(cf);

    //将修改后的cell放回sheet中

    sheet.addCell(lable);

    writeBook.write();

    writeBook.close();

    }

    workbook.close();

    } catch (Exception e) {

    e.printStackTrace();

    }

    }

    /**

    * poi实现excel修改

    * 读取excel并且修改部分内容并输出

    */

    public static void ModifyAndExport() {

    InputStream io;

    try {

    io = new FileInputStream(new File("C:\\Users\\Administrator\\Desktop\\excels\\output0.xls"));

    HSSFWorkbook workbook = new HSSFWorkbook(io);

    HSSFSheet sheet=workbook.getSheetAt(0);

    for(int i=2;i<5;i++){

    HSSFRow row=sheet.getRow(4);

    HSSFCell cell=row.getCell(0);

    cell.setCellValue("联系人姓名:王"+i+"麻子");

    HSSFCell cell1=row.getCell(3);

    cell1.setCellValue("手机:"+i+"10110");

    String outputPath="C:\\Users\\Administrator\\Desktop\\excels\\output"+i+".xls";

    FileOutputStream fo=new FileOutputStream(new File(outputPath));

    workbook.write(fo);

    }

    workbook.close();

    } catch (IOException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    }

    public static void main(String[] args) {

    ModifyAndExport();

    }

    展开全文
  • importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.util.Collection;importjava.util.HashMap;importjava.util.Iterator;importjava.util.Map;importorg.apache.poi.xssf.usermodel.XSSFCel...

    importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.util.Collection;importjava.util.HashMap;importjava.util.Iterator;importjava.util.Map;importorg.apache.poi.xssf.usermodel.XSSFCell;importorg.apache.poi.xssf.usermodel.XSSFRow;importorg.apache.poi.xssf.usermodel.XSSFSheet;importorg.apache.poi.xssf.usermodel.XSSFWorkbook;/*** 将aaa文件中的所有Study Subject ID开头的换成 “研究主题”,Protocol ID开头的换成“协议”。这个可以自己修改,根据需求不同灵活变化

    *@authorsun

    **/

    public classWriteExcelPOI {public voidwriteExcelPOI() {try{

    String fileName= "D:\\aaa.xlsx"; //修改d盘的aaa.xlsx文件

    XSSFWorkbook xwb = new XSSFWorkbook(newFileInputStream(fileName));

    Map fields = new HashMap();

    fields= getFieldMap(); //获取要修改字段的集合

    String fillStr=""; //存储aaa文件里的数据

    String[] fillSplit=null;

    XSSFSheet xSheet= xwb.getSheetAt(0); //获取excel表的第一个sheet

    for (int i = 0; i <= xSheet.getLastRowNum(); i++) { //遍历所有的行

    if(xSheet.getRow(i)==null){ //这行为空执行下次循环

    continue;

    }for (int j = 0; j <= xSheet.getRow(i).getPhysicalNumberOfCells(); j++) { //遍历当前行的所有列

    if(xSheet.getRow(i).getCell(j)==null){//为空执行下次循环//System.out.println("qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq");

    continue;

    }

    fillStr= (xSheet.getRow(i)).getCell(j).toString();//获取当前单元格的数据

    fillSplit=fillStr.split("_");//切割,本人的数据是以"_"为分隔符的这个可以根据自己情况改变//XSSFRow xRow = xSheet.createRow(i);//XSSFCell xCell = xRow.createCell(j);

    XSSFCell xCell=xSheet.getRow(i).getCell(j); //获取单元格对象,这块不能向上边那两句代码那么写,不能用createXXX,用的话会只把第一列的数据改掉

    xCell.setCellValue(fields.get(fillSplit[0].trim())==null?fillStr:fields.get(fillSplit[0].trim()));//修改数据,看数据是否和字段集合中的数据匹配,不匹配使用元数据//System.out.println(fields.get(fillSplit[0].trim()));

    }

    }

    FileOutputStream out= newFileOutputStream(fileName);

    xwb.write(out);

    out.close();

    }catch(Exception e) {

    e.printStackTrace();

    }

    }privateString getValue(XSSFCell xCell) {if (xCell.getCellType() ==XSSFCell.CELL_TYPE_BOOLEAN) {returnString.valueOf(xCell.getBooleanCellValue());

    }else if (xCell.getCellType() ==XSSFCell.CELL_TYPE_NUMERIC) {returnString.valueOf(xCell.getNumericCellValue());

    }else{returnString.valueOf(xCell.getStringCellValue());

    }

    }private MapgetFieldMap(){

    Map fields = new HashMap();

    fields.put("Study Subject ID", "研究主题");

    fields.put("Protocol ID", "协议");//try{//String fileName = "D:\\yuan.xlsx";//XSSFWorkbook xwb = new XSSFWorkbook(new FileInputStream(fileName));//

    //XSSFSheet xSheet = xwb.getSheetAt(3);//for (int i = 0; i <= xSheet.getLastRowNum(); i++) {//fields.put(xSheet.getRow(i).getCell(0).toString(),xSheet.getRow(i).getCell(1).toString());System.out.println("---"+xSheet.getRow(i).getCell(0)+"*---"+fields.get("A1"));//}//}//catch(Exception e){//e.printStackTrace();//}

    returnfields;

    }public static voidmain(String[] args) {

    WriteExcelPOI a= newWriteExcelPOI();

    a.writeExcelPOI();

    }

    }

    展开全文
  • private void downValid(HttpServletResponse response,NetDiskFile netDiskFile)throws Exception{try{if(netDiskFile!=null){File f = new File(netDiskFile.getAttach());//文件流的输入BufferedInputStream br =...

    private void downValid(HttpServletResponse response,NetDiskFile netDiskFile)throws Exception{

    try{

    if(netDiskFile!=null){

    File f = new File(netDiskFile.getAttach());

    //文件流的输入

    BufferedInputStream br = new BufferedInputStream(new FileInputStream(f));

    response.reset();

    response.setCharacterEncoding("gb2312");

    response.setContentType("application/x-msdownload");

    response.setHeader("Content-Disposition",

    "attachment; filename="+this.toUtf8String(netDiskFile.getFilename())+"."+netDiskFile.getSuffix());

    byte[] buf = new byte[1024];

    int len = 0;

    //文件流的输出

    OutputStream output = response.getOutputStream();

    while ((len = br.read(buf)) > 0){

    output.write(buf, 0, len);

    }

    br.close();

    output.close();

    }else{

    PrintWriter out=response.getWriter();

    out.println("");

    }

    }catch(FileNotFoundException e){

    PrintWriter out=response.getWriter();

    out.print("");

    }catch(Exception e){

    PrintWriter out=response.getWriter();

    out.print("");

    }

    }

    手写不容易,望采纳,万分感激。

    取消

    评论

    展开全文
  • //首先请确保poi版本是尽量新的 我只试过两个版本 ...package excel;import include.Path;import java.io.FileInputStream;import java.io.FileOutputStream;import org.apache.poi.poifs.filesystem.POIFSFileSyste...

    //首先请确保poi版本是尽量新的 我只试过两个版本 2.5的不行  然后下了3.7的就okay了。

    package excel;

    import include.Path;

    import java.io.FileInputStream;

    import java.io.FileOutputStream;

    import org.apache.poi.poifs.filesystem.POIFSFileSystem;

    import org.apache.poi.hssf.usermodel.*;

    public class Excel

    {

    private String sourceFileName;

    private String targetFileName;

    private HSSFWorkbook book;

    private HSSFSheet sheet;

    private FileInputStream fileinputstream;

    private FileOutputStream fileoutputstream;

    //根据需要修改sheet

    public void edit()

    {

    HSSFRow row = this.sheet.getRow(0);

    HSSFCell cell = row.getCell(0);

    cell.setCellValue("cell_edit");

    //

    //...更多修改...

    //

    }

    //打开excel文件

    public void openfile(String order_id)

    {

    this.sourceFileName = (Path.getRootPath() + "book_store//order_template.xls");    //Path.getRootPath() 在另外一篇日志中有~

    this.targetFileName = (Path.getRootPath() + "book_store//订单_"+order_id+".xls");

    try{

    this.fileinputstream = new FileInputStream(this.sourceFileName);

    POIFSFileSystem poifsfilesystem = new POIFSFileSystem(fileinputstream);

    this.book = new HSSFWorkbook(poifsfilesystem);

    this.sheet = this.book.getSheetAt(0);

    }catch (Exception exception)

    {

    exception.printStackTrace();

    }

    }

    //关闭excel文件

    public void closeFile()

    {

    try{

    this.fileoutputstream = new FileOutputStream(this.targetFileName);

    this.book.write(this.fileoutputstream);

    fileoutputstream.flush();

    fileoutputstream.close();

    this.fileinputstream.close();

    } catch (Exception exception) {

    exception.printStackTrace();

    }

    }

    //

    //代开订单模板文件修改  再另存为一个新的excel文件

    //

    public static void main(String[] args)

    {

    Excel excel = new Excel();

    String order_id = "201101241001";

    excel.openfile(order_id);

    excel.edit();

    excel.closeFile();

    }

    }

    http://hi.baidu.com/online_ghost/item/67c630a843f32f786dd45502

    展开全文
  • 还记得方法吗:word表格文档另存为网页格式用Excel打开网页文件另存Excel文件Excel表格怎么导入到word文档中呢?也可以用另存为网页文件方式吗?用Excel做的出差预算表把它导入到Excel中,最直接的方法就是复制...
  • 本人之前做过这个,使用jxl来操作Excel直接给你源码吧:/***判断文件能否存在,存在修改,不存在创建并添加数据**@paramroute*包名+路径*/@SuppressWarnings("null")publicvoidsaveZkfp(){Filefile=newFile(file...
  • 匿名用户1级2016-07-26 回答1./*** 出险信息导出到excel(fc)* @param mapping* @param form* @param request* @param response* @throws IOException*/public void exportActoExcel(ActionMapping mapping, ...
  • package ...import java.io.*;import jxl.*;import jxl.write.*;public class UpdateExl {public UpdateExl() {}public static void main (String[] args) {try{System.out.println("begin");//Excel获...
  • 之前Jerry的文章 使用ABAP操作Excel的几种方法,介绍的是通过ABAP这门编程语言去操作Excel的方法。除了编程语言之外,SAP新发布的SAP Intelligent Robotic Process Automation(简称SAP iRPA),提供了强大的企业级...
  • 点上方关注Excel基础学习园地公众号“Excel基础学习园地”是一个免费发布Excel基础知识、函数应用、操作技巧、学习方法等资讯的公众号,请点击上方“Excel基础学习园地”添加关注,方便我们每天向您推送精彩资讯。...
  • 我要去上课~天天不迟到~熟知Excel~办公不掉队~技巧1:批量设置求和方式选取包括黄色行列的区域,按alt 和 = (按alt键不要松开再按等号)即可完成求和公式的输入显示结果技巧2:同时查看一个excel文件的两个工作表选择...
  • Hello,各位叨友们好呀!我是叨叨君~日常工作中用Word写总结、写报告,写分析,一定离不开数据支持。但在制作的过程中你一定碰到过...1、Excel转WordExcel转Word非常简单,只需两步就能轻松搞定!第一步:在excel...
  • 在进行文档编辑的时候我们都会用到Word,利用Word完成文档简历的编辑后,为方便文档的管理我们会把对应的简历文档复制粘贴到Excel当中。但是每次将Word内容直接复制到表格中后,我们都需要进行格式的调整,每次调整...
  • java实现读取excel修改部分内容最终写入到新的文件中pom.xml引入相关的jxl.jar与poi.jarpom文件如下net.sourceforge.jexcelapijxl2.6.12org.apache.poipoi3.17java实现具体代码如下:package Util;import java.io....
  • java实现读取excel修改部分内容最终写入到新的文件中 pom.xml引入相关的jxl.jar与poi.jar pom文件如下 <dependencies> <!-- ...
  • //首先请确保poi版本是尽量新的 我只试过两个版本 2.5的不行 然后下了3.7的就okay了。 //poi下载地址:... package excel; import include.Path; import java.io.FileInputStream; import java.i
  • //首先请确保poi版本是尽量新的 我只试过两个版本 2.5的不行 然后下了3.7的就okay了。 //poi下载地址:... package excel; import include.Path; import java.io.FileInputStream; import java.io.Fi
  • import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStre...
  • HSSFWorkBook是解析excel2007以前的版本(xls)之后的版本使用XSSFWrokBook(xlsx) 附:处理excel2007之后的版本代码: package gbyp.autoQuery.action; import java.io.File; import java.io....
  • 导致这个问题可能是因为你的excel版本不对,要交excel的版本设置成.xls不能只改变后缀,要将文件另存为.xls文件才行。 另存为,修改格式 笔者是选择的这个 ...
  • 用office的excel工具制作符合自己需求的模板样式,另存为xml文档如图: 修改xml后缀为ftl,对其中需要动态修改的部分添加freemark代码 通过freemark list循环输出列表数据。 注意: 需要表这个参数进行行数复制(要...
  • Java生成EXCEL文档说明

    2012-04-18 19:31:32
    例如项目需要制作报表等等,通常的做法都是事先把格式一切的东西都手动制作好(这个做好了的文件在实际的项目里我们称之为“数据模板”,简称“模板”),然后在Java应用中适当的时机把这个文件读进来修改,...
  • Java 生成 EXCEL POI文档说明

    千次阅读 2009-02-27 18:24:00
    Java 生成 EXCEL POI文档说明 一般在项目中真正要实现这样一个表格的...然后在Java应用中适当的时机把这个文件读进来修改,最后再另存到指定的位置或者传递给下一个处理者(例如以流的方式送给Servlet等等),这样其
  • 原因:不支出读取 excel 2007 文件(*.xlsx)。...光修改文件后缀不行,需要文件另存(或者导出)为 .xls Excel 1997-2004 格式,然后就好了。 转载于:https://www.cnblogs.com/historylyt/p/7889444.html...
  • 前言:根据前两遍博客可以很... 二、另存为XML文件,如下图:    三、修改参数值属性;  在线格式化工具:http://tool.oschina.net/codeformat/xml/  代码如下:1.xml(修改属性)    xmlns:o="urn:
  • 或者直接修改文件名,把txt...2.使用WPS,先打开excel文件编辑,保存后,选择‘另存为,点击其他格式,再选择CSV ,最后再重新保存即可,但是会弹出来一个对话框,点击确定。3..写CSV文件案例public static void wr...
  • Flex Excel下载

    2019-09-27 16:21:35
    最近做Flex里的Excel下载,用as3xls进行Excel导出后,Excel修改编辑后老出现:不能以当前格式保存。。。若要保存所做的更改,请单击“确定”,然后将其另存为最新的格式。 最后通过JAVA的POI实现Excel下载的,具体...

空空如也

空空如也

1 2 3
收藏数 46
精华内容 18
关键字:

java修改另存excel

java 订阅