javaexcel为什么不一致,java导出excel文件调试和运行的导出文件个数不一样
大家好,今天小编来为大家解答以下的问题,关于javaexcel为什么不一致,java导出excel文件调试和运行的导出文件个数不一样这个很多人还不知道,现在让我们一起来看看吧!
java中如何把数据导入到已有的Excel中,数据不覆盖
原来的数据不被覆盖这样的例子倒是没有做过。给你一个思路吧。
1、首先肯定要查到已有Excel的文件,根据路径或者名称查出。
2、读取Excel文件,因为要知道是否已经存在数据,没有数据的话那就直接导入。
3、如果有数据,HSSFSheet sheet,sheet.getPhysicalNumberOfRows(),可以拿到已经存在的行数,新导入的数据那就从这个基础上添加,不至于将原来的覆盖。
希望对你有所帮助。
java excel
1. java读excel文件需要引入 jxl包
使用很简单比如以下是读特定excel文件的给定行列值
InputStream is=new FileInputStream(new File("文件名"));
//声名一个工作薄
Workbook rwb= Workbook.getWorkbook(is);
//在Excel文档中,获取某个sheet
Sheet st= rwb.getSheet("Sheet1");
//这样可以获得那个cell的内容
String value=st.getCell(row, col).getContents();
2.我估计你所谓的行政区域代码的规则是这样的
120000是120020的上级
120020是120021的上级
这种情况下的话,你可以通过取字符的前几位,并且非零位,来实现查找上级结点。
比如要查询的是120021你可以知道他的上级是120020然后又能知道他的上级市120000他的上级是100000依次可以查到所有
java导出excel文件调试和运行的导出文件个数不一样
解决方法:
1、把项目下面的Bin文件夹下的DLL文件全部删除,或者包括EXE文件也删除。然后重新生成
一次项目。
2、在最上面一排的菜单栏选择工具->选项,在弹出窗口中选择调试->常规。把“要求源
文件和版本匹配”的勾勾去掉。然后去掉“地址级的调试”的勾勾(这样就不会出现反汇编
代码了,这一步可不要)。
java导出excel,excel打不开,报文件格式无效,怎么解决!
两个原因:
1.你的excel模版本身有问题,可以尝试新建一个模版。
2.你的excel使用了一些POI不支持的函数。
解决办法:
另存是由excel重写了完整的文件,可以解决问题。
关闭文件例子:
FileOutputStream os= new FileOutputStream("workbook.xls");
wb.write(os);
os.close();
在保护状态下execl的格式有可能正在被使用,你这边修改,准确说是线程冲突,一般excel值会作为导出文件的模板,是不会编辑的。你可以在读的时候判断execl是否正在被使用。
下面的代码问题,你可以参考
package com.hwt.glmf.common;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
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.hssf.util.CellRangeAddress;
import org.apache.poi.hssf.util.HSSFColor;
/**
*导出Excel公共方法
*@version 1.0
*
*@author wangcp
*
*/
public class ExportExcel extends BaseAction{
//显示的导出表的标题
private String title;
//导出表的列名
private String[] rowName;
private List<Object[]> dataList= new ArrayList<Object[]>();
HttpServletResponse response;
//构造方法,传入要导出的数据
public ExportExcel(String title,String[] rowName,List<Object[]> dataList){
this.dataList= dataList;
this.rowName= rowName;
this.title= title;
}
/*
*导出数据
**/
public void export() throws Exception{
try{
HSSFWorkbook workbook= new HSSFWorkbook();//创建工作簿对象
HSSFSheet sheet= workbook.createSheet(title);//创建工作表
//产生表格标题行
HSSFRow rowm= sheet.createRow(0);
HSSFCell cellTiltle= rowm.createCell(0);
//sheet样式定义【getColumnTopStyle()/getStyle()均为自定义方法-在下面-可扩展】
HSSFCellStyle columnTopStyle= this.getColumnTopStyle(workbook);//获取列头样式对象
HSSFCellStyle style= this.getStyle(workbook);//单元格样式对象
sheet.addMergedRegion(new CellRangeAddress(0, 1, 0,(rowName.length-1)));
cellTiltle.setCellStyle(columnTopStyle);
cellTiltle.setCellValue(title);
//定义所需列数
int columnNum= rowName.length;
HSSFRow rowRowName= sheet.createRow(2);//在索引2的位置创建行(最顶端的行开始的第二行)
//将列头设置到sheet的单元格中
for(int n=0;n<columnNum;n++){
HSSFCell cellRowName= rowRowName.createCell(n);//创建列头对应个数的单元格
cellRowName.setCellType(HSSFCell.CELL_TYPE_STRING);//设置列头单元格的数据类型
HSSFRichTextString text= new HSSFRichTextString(rowName[n]);
cellRowName.setCellValue(text);//设置列头单元格的值
cellRowName.setCellStyle(columnTopStyle);//设置列头单元格样式
}
关于本次javaexcel为什么不一致和java导出excel文件调试和运行的导出文件个数不一样的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。