主页 | excel电子表格 | Word办公 | PPT教学 | Wps文档处理 |

poi导出办公软件excel数据格式设置

    1. poi导入导出excel表格的数据

    合并单元格换行方式跟普通单元格的换行方式一样,有两种方式,一个是设置自动换行,一个是设置强制换行,下面分别介绍。

    1、自动换行。

    选中合并单元格,右键设置单元格格式,在对齐命令中,选中自动换行。这样改变合并单元格的列宽,数据就跟随列宽的大小自动换行。

    2、强制换行。

    选中合并单元格,将光标放在需要换行的位置,按下alt+enter键,强制换行。强制换行的数据,不会因单元格列宽的大小而改变。

    2. javapoi导出excel

    使用pl/sqldeveloper可以完成1、控制面板-->管理工具-->数据源(ODBC)-->添加-->选择驱动*.xls-->完成-->选择你的excel表格2、pl/sql-->tools-->ODBCImporterDataFromODBC标签页:DSN选择刚刚添加的数据源,点击connectDataToOracle标签页:选择对应的表3、点击Import,可以完成导入需要注意的是,excel中列的顺序和数据库表的字段顺序最好保持一致,excel列的标题和字段名称保持一致,这样导入的时候,会自动匹配。

    3. poi excel导入

    首先要导入spring相关包,poi,和fileupload包,我是使用maven构建的。

    一.导入excel

    (1)使用spring上传文件

    a.前台页面提交

    <form name="excelImportForm" action="${pageContext.request.contextPath}/brand/importBrandSort" method="post" enctype="multipart/form-data" id="excelImportForm">

    <input type="hidden" name="ids" id="ids">

    <div >

    <div >

    <label ><input id="excel_file" type="file" name="filename" accept="xls"/></label>

    <div >

    <input id="excel_button" type="submit" value="导入Excel"/>

    </div>

    </div>

    </div>

    <div >

    <button type="button" data-dismiss="modal" >取消</button>

    </div>

    b.后台spring的controller进行相关操作,这里主要讲的是使用spring上传文件,和读取文件信息。

    使用spring上传文件之前,需要配置bean。

    <bean id="multipartResolver" ></bean>@RequestMapping(value = "/importBrandSort", method = RequestMethod.POST)

    public ModelAndView importBrandSort(@RequestParam("filename") MultipartFile file,

    HttpServletRequest request,HttpServletResponse response) throws Exception {

    String temp = request.getSession().getServletContext()

    .getRealPath(File.separator)

    + "temp"; // 临时目录

    File tempFile = new File(temp);

    if (!tempFile.exists()) {

    tempFile.mkdirs();

    }

    DiskFileUpload fu = new DiskFileUpload();

    fu.setSizeMax(10 * 1024 * 1024); // 设置允许用户上传文件大小,单位:位

    fu.setSizeThreshold(4096); // 设置最多只允许在内存中存储的数据,单位:位

    fu.setRepositoryPath(temp); // 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录

    // 开始读取上传信息

    //

    int index = 0;

    /* List fileItems = null;

    try {

    fileItems = fu.parseRequest(request);

    }

    catch (Exception e) {

    e.printStackTrace();

    }

    Iterator iter = fileItems.iterator(); // 依次处理每个上传的文件

    FileItem fileItem = null;

    while (iter.hasNext()) {

    FileItem item = (FileItem) iter.next();// 忽略其他不是文件域的所有表单信息

    if (!item.isFormField()) {

    fileItem = item;

    // index++;

    }

    }

    if (fileItem == null)

    return null;

    */

    if (file == null)

    return null;

    logger.info(file.getOriginalFilename());

    String name = file.getOriginalFilename();// 获取上传文件名,包括路径

    //name = name.substring(name.lastIndexOf("\\") + 1);// 从全路径中提取文件名

    long size = file.getSize();

    if ((name == null || name.equals("")) && size == 0)

    return null;

    InputStream in = file.getInputStream();

    List<BrandMobileInfoEntity> BrandMobileInfos = brandService

    .importBrandPeriodSort(in);

    // 改为人工刷新缓存KeyContextManager.clearPeriodCacheData(new

    // PeriodDimensions());// 清理所有缓存

    int count = BrandMobileInfos.size();

    String strAlertMsg ="";

    if(count!=0){

    strAlertMsg= "成功导入" + count + "条!";

    }else {

    strAlertMsg = "导入失败!";

    }

    logger.info(strAlertMsg);

    //request.setAttribute("brandPeriodSortList", BrandMobileInfos);

    //request.setAttribute("strAlertMsg", strAlertMsg);

    request.getSession().setAttribute("msg",strAlertMsg);

    return get(request, response);

    //return null;

    }

    代码中的注释部分是如果不使用spring的方式,如何拿到提交过来的文件名(需要是要apache的一些工具包),其实使用spring的也是一样,只是已经做好了封装,方便我们写代码。

    代码中的后半部分是读取完上传文文件的信息和对数据库进行更新之后,输出到前台页面的信息。

    上述代码中: InputStream in = file.getInputStream();

    List<BrandMobileInfoEntity> BrandMobileInfos = brandService

    .importBrandPeriodSort(in);读取excel的信息。

    (2)使用poi读取excel

    a.更新数据库

    @Override

    public List<BrandMobileInfoEntity> importBrandPeriodSort(InputStream in) throws Exception {

    List<BrandMobileInfoEntity> brandMobileInfos = readBrandPeriodSorXls(in);

    for (BrandMobileInfoEntity brandMobileInfo : brandMobileInfos) {

    mapper.updateByConditions(brandMobileInfo);

    }

    return brandMobileInfos;

    }

    这部分是sevice层的代码,用于读取excel信息之后更新数据库数据,我这里是使用mybatis。定义一个类BrandMobileInfoEntity,用与保存excel表每一行的信息,而List< BrandMobileInfoEntity > 则保存了全部信息,利用这些信息对数据库进行更新。

    b.读取excel信息

    private List<BrandMobileInfoEntity> readBrandPeriodSorXls(InputStream is)

    throws IOException, ParseException {

    HSSFWorkbook hssfWorkbook = new HSSFWorkbook(is);

    List<BrandMobileInfoEntity> brandMobileInfos = new ArrayList<BrandMobileInfoEntity>();

    BrandMobileInfoEntity brandMobileInfo;

    // 循环工作表Sheet

    for (int numSheet = 0;

    numSheet < hssfWorkbook.getNumberOfSheets(); numSheet++) {

    HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(numSheet);

    if (hssfSheet == null) {

    continue;

    }

    // 循环行Row

    for (int rowNum = 1; rowNum <= hssfSheet.getLastRowNum(); rowNum++) {

    brandMobileInfo = new BrandMobileInfoEntity();

    HSSFRow hssfRow = hssfSheet.getRow(rowNum);

    for (int i = 0; i < hssfRow.getLastCellNum(); i++) {

    HSSFCell brandIdHSSFCell = hssfRow.getCell(i);

    if (i == 0) {

    brandMobileInfo.setBrandId(Integer

    .parseInt(getCellValue(brandIdHSSFCell)));

    } else if (i == 1) {

    continue;

    } else if (i == 2) {

    brandMobileInfo.setMobileShowFrom(Integer.parseInt(getCellValue(brandIdHSSFCell)));

    } else if (i == 3) {

    brandMobileInfo.setMobileShowTo(Integer.parseInt(getCellValue(brandIdHSSFCell)));

    } else if (i == 4) {

    brandMobileInfo.setSellMarkValue(getCellValue(brandIdHSSFCell));

    } else if (i == 5) {

    brandMobileInfo.setWarehouse(getCellValue(brandIdHSSFCell));

    } else if (i ==

    4. poi实现excel导入

    poi导入一个excel文件,本地运行是可以导入成功的,但是部署到测试环境就在报错。

    然后本地是windows系统,测试是Linux系统。

    前台用的是“ajaxFileUpload”插件上传,因为要实现的是上传成功之后,在页面上给一个弹框,提示上传成功。

    5. poi读取excel表格

    首先你要明白导入文件步骤:

    1.实例化excel读取对象2.加载excel文件全部加载选择加载3.读取excel文件全部读取 逐行读取以下你看看那个更加适应你顺便列出几个其他语言导入Excel文件,希望对你有帮助PHP导入Excel文件java把Excel文件数据导入数据库PHP实现导出Excel文件通用方法JXL生成的excel文件+JAVA文件下载功能Java通用的Excel文件生成工具类,支持生成文件和浏览器直接下载java处理Excel文件---excel文件的创建,删除,写入,读取Java读取Excel文件jxl解析Excel文件JXL操作Excel文件java POI读取Excel文件java使用poi读取excel文件代码示例用jxl生成Excel文件PHP验证码文件类PHP 下载远程文件PHP获取远程文件的大小php压缩CSS文件PHP强制下载文件php读取csv文件类php 简单ftp文件上传范例一个php 生成zip文件的类

    6. poi导入excel到数据库

    导出时自由选择路径的代码如下:

    1、后台输出Excel文件代码:

    OutputStream output = response.getOutputStream();

    response.reset();

    response.setHeader("Content-disposition", "attachment; filename=" + path);

    response.setContentType("Content-Type:application/vnd.ms-excel ");

    wb.write(output);

    output.close();

    2、前端代码:

    window.open("getExcelList","_blank");

    7. poi实现excel导入导出

    首先你要明白导入文件步骤:

    1.实例化excel读取对象

    2.加载excel文件

    全部加载

    选择加载

    3.读取excel文件

    全部读取

    逐行读取

    以下你看看那个更加适应你

    顺便列出几个其他语言导入Excel文件,希望对你有帮助

    PHP导入Excel文件

    java把Excel文件数据导入数据库

    PHP实现导出Excel文件通用方法

    JXL生成的excel文件+JAVA文件下载功能

    Java通用的Excel文件生成工具类,支持生成文件和浏览器直接下载

    java处理Excel文件---excel文件的创建,删除,写入,读取

    Java读取Excel文件

    jxl解析Excel文件

    JXL操作Excel文件

    java POI读取Excel文件

    java使用poi读取excel文件代码示例

    用jxl生成Excel文件

    PHP验证码文件类

    PHP 下载远程文件

    PHP获取远程文件的大小

    php压缩CSS文件

    PHP强制下载文件

    php读取csv文件类

    php 简单ftp文件上传范例

    一个php 生成zip文件的类

  • 办公软件excel如何自动排名
  • 办公软件excel选出重复行