通过 Jakarta的POI项目提供了一组操纵Windows文档的Java API 来完成对excel文件操作
该API有如下几个类提供了操作Excel文件的方便的途径:

  1. HSSFWorkbook ==>Excel电子表格中的 Book
  2. HSSFSheet ==>Excel电子表格中的 Sheet
  3. HSSFRow ==>Excel电子表格中的 行
  4. HSSFCell ==>Excel电子表格中的 单元格
    1. package business;
    2. import org.apache.poi.hssf.usermodel.*;
    3. import org.apache.poi.poifs.filesystem.POIFSFileSystem;
    4. import java.io.FileInputStream;
    5. import java.io.FileOutputStream;
    6. import java.io.IOException;
    7. /**
    8. * Jakarta的POI项目提供了一组操纵Windows文档的Java API,如下几个类提供了操作Excel文件的方便的途径:<br>
    9. * HSSFWorkbook、HSSFSheet、HSSFRow、HSSFCell,<br>
    10. * 分别代表了Excel电子表格中的Book、Sheet、行和单元格。 <br>
    11. */
    12. public class CreateExcel {
    13. public static void main(String[] args) throws Exception {
    14. write();
    15. System.out.println(read("d://test.xls"));
    16. }
    17. /**
    18. * 写时:解决中文乱码问题
    19. * cell.setEncoding(HSSFCell.ENCODING_UTF_16);
    20. *
    21. * 通过 FileOutputStream 来完生成的xls文件的保存
    22. */
    23. private static void write() {
    24. FileOutputStream fos = null;
    25. HSSFWorkbook wb = new HSSFWorkbook();
    26. HSSFSheet s = wb.createSheet();
    27. wb.setSheetName(0, "first sheet");
    28. StringBuffer str = new StringBuffer();
    29. str.append("#@#Acct GroupAttribute Change,,,,FIN_SRV- Banking,,,,,,,,,Bank Of China,,,Enterprise,,,China ConstructionBank,hailali,CH_S_ENT_NA_FSI_CCBhailali,Enterprise,Local GovernmentRegulations,the current groupname(China Construction Bank)is wrong for this account:BOC Hainan, pls helpto change it to correct group namd:Bank Of China,OK to submit");
    30. str.append("#@#Acct GroupAttribute Change,,,,FIN_SRV- Banking,,,,,,,,,The People's Bank OfChina,,,Enterprise,,,GOVERNMENT OF CHINA,hailali,CH_S_ENT_NA_FSI_PBOChailali,Enterprise,Local GovernmentRegulations,the current groupname(Government of China )is wrong for this account:PBOC Yulin, pls help tochange it to correct group namd:The People's Bank Of China,OK to submit");
    31. str.append("#@#Acct GroupAttribute Change,,,,ENG/UTL- NaturalGas/Electric/Water,,,,,,,,,South Power GridCorporation,,,Enterprise,,,Guangxi Power Company,hailali,CH_S_ENT_NA_LENT_POWERhailali,Enterprise,Local GovernmentRegulations,the account should beunder FVEV group name: South Power Grid Corporation,OK to submit");
    32. str.append("#@#Acct GroupAttribute Change,,,,ENG/UTL- NaturalGas/Electric/Water,,,,,,,,,South Power GridCorporation,,,Enterprise,,,Hainan PowerCorporation Limite,hailali,CH_S_ENT_NA_LENT_POWERhailali,Enterprise,Local GovernmentRegulations,the account should beunder FVEV group name: South Power Grid Corporation,OK to submit");
    33. str.append("#@#Acct GroupAttribute Change,,,,ENG/UTL- NaturalGas/Electric/Water,,,,,,,,,South Power GridCorporation,,,Enterprise,,,Datang Tanyan WaterPower Generator,hailali,CH_S_ENT_NA_LENT_POWERhailali,Enterprise,Local GovernmentRegulations,the account should beunder FVEV group name: South Power Grid Corporation,OK to submit");
    34. str.append("#@#Acct GroupAttribute Change,,,,FIN_SRV- Banking,,,,,,,,,The People's Bank OfChina,,,Enterprise,,,China ConstructionBank,haiyxu,CH_S_ENT_NA_FSI_CCBhaiyxu,Enterprise,Local GovernmentRegulations,the account should beunder FVEV group name: The People's Bank Of China,OK to submit");
    35. str.append("#@#Acct Delete,No,DATANG TANYAN WATERPOWER GENERATOR,,,37156485,0013000000Cziiv,,,,,,,,,,,,,,hailali,CH_S_ENT_NA_LENT_POWERhailali,Enterprise,Merger &Acquisition,this account is mergein Datang Power plant, which is not belongs to hailali's account,OK to submit");
    36. str.append("#@#Acct Delete,No,Shenzhen Metro Co.,Ltd.,,,2797093,0013000000D2X9w,,,,,,,,,,,,,,yli2,CH_S_ENT_NA_LENT_MORyli2,Enterprise,Duplicate Account,account duplicate innamed account list, pls delete,OK to submit");
    37. str.append("#@#Acct GroupAttribute Change,,,,ENG/UTL- NaturalGas/Electric/Water,3225272,,,,,,,,Guangdong YudeanGroup Corporation Limited,,,Enterprise,,,Huaneng Power CompanyLimited,yli2,CH_S_ENT_NA_LENT_POWERyli2,Enterprise,Local GovernmentRegulations,the account should beunder FVEV group name: Guangdong Yudean Group Corporation Limited,OK to submit");
    38. str.append("#@#Acct GroupAttribute Change,,,,ENG/UTL- NaturalGas/Electric/Water,,,,,,,,,Guangdong YudeanGroup Corporation Limited,,,Enterprise,,,Huaneng Haimen PowerPlan,yli2,CH_S_ENT_NA_LENT_POWERyli2,Enterprise,Local GovernmentRegulations,the account should beunder FVEV group name: Guangdong Yudean Group Corporation Limited,OK to submit");
    39. str.append("#@#Acct Delete,Yes,Shenzhen MindrayCo.,Ltd,深圳迈瑞生物医疗电子股份有限公司,,39421686,0013000000It5ak,,,,,,,,,,,,,,yiqyu,CH_S_COMM_SZ_TAM_TMyiqyu,Commercial Mid-MarketTAM,Duplicate Account,This acct. isduplicate with Mei Wenfeng's acct. Mindray Medical International Limited,which has no chinese name, so make confusion before,OK to submit");
    40. str.append("#@#Acct Delete,Yes,Zhongcheng BondCo.,Ltd,众成证券经纪有限公司,,89284977,0013000000It5Zb,,,,,,,,,,,,,,yiqyu,CH_S_COMM_SZ_TAM_TMyiqyu,Commercial Mid-MarketTAM,Duplicate Account,This acct. wastransferd to CH_COMM_SZX_ISAM_01 already,OK to submit");
    41. str.append("#@#Acct Delete,Yes,Guangxi JinGui Pulp& Paper Co., Ltd,,,83297032,0013000000I0cpI,,,,,,,,,,,,,,wuwen,CH_COMM_GX_ISAM_01(CH_S_COMM_GX_TAM_TM),Commercial Mid-MarketTAM,Duplicate Account,Duplicate Account,OK to submit");
    42. str.append("#@#Acct Delete,Yes,guangxiwomen&children healthy hospital,,,34055092,0013000000IP1E3,,,,,,,,,,,,,,wuwen,CH_COMM_GX_ISAM_01(CH_S_COMM_GX_TAM_TM),Commercial Mid-MarketTAM,Duplicate Account,Duplicate Account,OK to submit");
    43. str.append("#@#Acct Regroup,,GUANGDONG MIDEAELECTRIC APPLIANCE COMPANY LTD,,,110081399,,,,,,,,MIDEA GROUP,,,,,,GUANGDONG MIDEAELECTRIC APPLIANCE COMPANY LTD,yasu,CH_S_ENT_GD_O_LENT_TMyasu,,Merger &Acquisition,Belong to new group,OK to submit");
    44. str.append("#@#Acct Delete,Yes,guangxiwomen&children healthy hospital,,,34055092,0013000000IP1E3,,,,,,,,,,,,,,wuwen,CH_COMM_GX_ISAM_01(CH_S_COMM_GX_TAM_TM),Commercial Mid-MarketTAM,Duplicate Account,Duplicate Accountwith ISAM.,OK to submit");
    45. str.append("#@#Acct Delete,Yes,Shenzhen MindrayCo.,Ltd,深圳迈瑞生物医疗电子股份有限公司,,39421686,0013000000It5ak,,,,,,,,,,,,,,yiqyu,CH_S_COMM_SZ_TAM_TMyiqyu,Commercial Mid-MarketTAM,Duplicate Account,This acct. isduplicate with Mei Wenfeng's acct. Mindray Medical International Limited,which has no chinese name, so make confusion before,OK to submit");
    46. str.append("#@#Acct Delete,Yes,Zhongcheng BondCo.,Ltd,众成证券经纪有限公司,,89284977,0013000000It5Zb,,,,,,,,,,,,,,yiqyu,CH_S_COMM_SZ_TAM_TMyiqyu,Commercial Mid-MarketTAM,Duplicate Account,This acct. wastransferd to CH_COMM_SZX_ISAM_01 already,OK to submit");
    47. str.append("#@#Acct Delete,Yes,Trust Mart Shanghai,,,2733443,0013000000GdUaN,,,,,,,,,,,,,,lilzhong,CH_S_ENT_SZ_LENT_TMlilzhong,Enterprise,Duplicate Account,notbelong to,OK to submit");
    48. str.append("#@#Acct Delete,Yes,guangdong zhong youpu tai mobile communication equipment,,,10282152,0013000000KFumZ,,,,,,,,,,,,,,kahe,CH_S_ENT_GZ_LENT_TMkahe,Enterprise,Duplicate Account,notbelong to,OK to submit");
    49. str.append("#@#Acct Delete,Yes,Xiamen MunicipalGovernment,,,38333226,0013000000ClAUs,,,,,,,,,,,,,,xigeng,CH_S_ENT_FJ_PS_TMxigeng,Enterprise,Duplicate Account,notbelong to,OK to submit");
    50. str.append("#@#Acct Delete,Yes,Xiamen MunicipalGovernment,,,42112821,0013000000D1GAJ,,,,,,,,,,,,,,xigeng,CH_S_ENT_FJ_PS_TMxigeng,Enterprise,Duplicate Account,notbelong to,OK to submit");
    51. str.append("#@#Acct Delete,Yes,Wal-Mart BusinessInformation Corporation Limited,,,2749753,,,,,,,,,,,,,,,lilzhong,CH_S_ENT_SZ_LENT_TMlilzhong,Enterprise,Duplicate Account,notbelong to,FAILED: SFDC Account IDcan't be blank.");
    52. str.append("#@#Acct Delete,Yes,China CTS Co.,Ltd,,,,,,,,,,,,,,,,,,hodu,CH_S_COMM_SZ_TAM_TMhodu,Commercial Mid-MarketTAM,Duplicate Account,Duplicate Accountwith China National Travel Service Group Corporation, Account ID:0013000000JFNYk.,FAILED:CSC ID can't be blank. SFDC Account ID can't be blank.");
    53. str.append("#@#Acct Delete,Yes,HASBRO TOYS SHENZHENCOMPANY LTD,孩之宝玩具(深圳)有限公司,,,,,,,,,,,,,,,,,yiqyu,CH_S_COMM_SZ_TAM_TMyiqyu,Commercial Mid-MarketTAM,Duplicate Account,Thisacct. is duplicate with CH COMM SOUTH SISAM 02's HASBRO TOYS, which has nochinese name too.,FAILED:CSC ID can't be blank. SFDC Account ID can't be blank.");
    54. str.append("#@#Acct Delete,Yes,Xunlei companyLimited,迅雷 ,,,,,,,,,,,,,,,,,yiqyu,CH_S_COMM_SZ_TAM_TMyiqyu,Commercial Mid-MarketTAM,Duplicate Account,This acct. isduplicate with CH_COMM_SZX_ISAM_03's xunlei,FAILED:CSC ID can't be blank. SFDC Account ID can't be blank.");
    55. str.append("#@#Acct Delete,Yes,Xunlei companyLimited,迅雷 ,,,,,,,,,,,,,,,,,yiqyu,CH_S_COMM_SZ_TAM_TMyiqyu,Commercial Mid-MarketTAM,Duplicate Account,This acct. isduplicate with CH_COMM_SZX_ISAM_03's xunlei,FAILED:CSC ID can't be blank. SFDC Account ID can't be blank.");
    56. str.append("#@#Acct Delete,Yes,OOCL corp.,东方海外货柜航运(中国)有限公司深圳分公司,,,,,,,,,,,,,,,,,yiqyu,CH_S_COMM_SZ_TAM_TMyiqyu,Commercial Mid-MarketTAM,Duplicate Account,This acct. isduplicate with the acct.东方海外货柜航运(中国)有限公司 of zeliu of south comm.a,FAILED:CSC ID can't be blank. SFDC Account ID can't be blank.");
    57. str.append("#@#Acct Delete,Yes,HASBRO TOYS SHENZHENCOMPANY LTD,孩之宝玩具(深圳)有限公司,,,,,,,,,,,,,,,,,yiqyu,CH_S_COMM_SZ_TAM_TMyiqyu,Commercial Mid-MarketTAM,Duplicate Account,Thisacct. is duplicate with CH COMM SOUTH SISAM 02's HASBRO TOYS, which has nochinese name too.,FAILED:CSC ID can't be blank. SFDC Account ID can't be blank.");
    58. str.append("#@#Acct Delete,Yes,OOCL corp.,东方海外货柜航运(中国)有限公司深圳分公司,,,,,,,,,,,,,,,,,yiqyu,CH_S_COMM_SZ_TAM_TMyiqyu,Commercial Mid-MarketTAM,Duplicate Account,This acct. isduplicate with the acct.东方海外货柜航运(中国)有限公司 of zeliu of south comm.a,FAILED:CSC ID can't be blank. SFDC Account ID can't be blank.");
    59. String t1 = str.toString();
    60. String t2[] = t1.split("#@#");
    61. String result[][] = new String[t2.length][30];
    62. for(int i = 0 ; i < t2.length ; i ++){
    63. result[i] = t2[i].split(",");
    64. }
    65. for(int i = 0 ; i < result.length ; i++){
    66. HSSFRow row = s.createRow(i);
    67. for(int j = 0  ; j < result[i].length ; j++){
    68. HSSFCell cell = row.createCell((short) j);
    69. cell.setEncoding(HSSFCell.ENCODING_UTF_16);
    70. cell.setCellValue(result[i][j]);
    71. }
    72. }
    73. try {
    74. fos = new FileOutputStream("d://test.xls");
    75. wb.write(fos);
    76. fos.close();
    77. } catch (IOException e) {
    78. e.printStackTrace();
    79. }
    80. }
    81. /**
    82. * 两个有用的属性:<br>
    83. * int rowsnum = sheet.getPhysicalNumberOfRows(); //返回当前sheetr的有效行数
    84. * int cellsnum = sheet.getRow(sheet.getFirstRowNum()).getPhysicalNumberOfCells();//返回当前行的有效列数
    85. *
    86. * @param url 读取指定的xls文件(当前可以是:d://test.xls),注意,要把路径中的 / 替换为 // 哦
    87. * @return 单个字符串(cell),可以是一维的(row),可以是二维的(sheet),可以是三维的(book)呵呵,自己定吧
    88. */
    89. private static String read(String url) {
    90. POIFSFileSystem fs = null;
    91. HSSFWorkbook wb = null;
    92. try {
    93. fs = new POIFSFileSystem(new FileInputStream(url));
    94. wb = new HSSFWorkbook(fs);
    95. } catch (IOException e) {
    96. e.printStackTrace();
    97. }
    98. HSSFSheet sheet = wb.getSheetAt(0);
    99. HSSFRow row = sheet.getRow(0);
    100. HSSFCell cell = row.getCell((short) 0);
    101. String msg = cell.getStringCellValue();
    102. return msg;
    103. }
    104. }

java对excel文件的读写操作相关推荐

  1. Java 使用 POI 对 Excel文件 进行读写操作

    Java 使用 POI 对 Excel文件 进行读写操作 一.背景 目前正在做一个问卷功能模块,收集完问卷信息后,需要将数据库中的数据导出到Excel数据表中进行留存,因此就学习了在Java中如何对E ...

  2. 18 - csv与Excel文件的读写操作

    Day 18 补充:虚拟环境 1.系统环境: 安装Python就可以为计算机提供一个python的体统环境 2.虚拟环境 程序员根据自己的需要创建的Python环境 能够提供虚拟环境的前提:存在系统环 ...

  3. python对Excel文件的读写操作

    xlrd模块 读excel文件 .xls xlwt模块 写excel文件 .xls openpyxl模块 写和追写 安装第三方模块 xlrd xlwt openpyxl 安装方式一:使用pip命令安装 ...

  4. java jxl 文本文件_JXl(excel文件的读写操作)使用API(全)

    简单写了对excel写操作的demo: @Test public void creatExcel() throws IOException, RowsExceededException, WriteE ...

  5. python xlwt xlrd 写入一行_Python Excel文件的读写操作(xlwt xlrd xlsxwriter)

    Python语法简洁清晰,作为工作中常用的开发语言还是很强大的(废话). python关于Excel的操作提供了xlwt和xlrd两个的包作为针对Excel通用操作的支持,跨平台(Mac.Window ...

  6. python xlsx读写_Python Excel文件的读写操作(xlwt xlrd xlsxwriter)

    Python语法简洁清晰,作为工作中常用的开发语言还是很强大的(废话). python关于Excel的操作提供了xlwt和xlrd两个的包作为针对Excel通用操作的支持,跨平台(Mac.Window ...

  7. R语言开发之EXCEL文件的读写操作了解下

    Microsoft Excel是使用最广泛的电子表格程序,它是以.xls或.xlsx格式存储数据. R可以使用某些excel特定的包直接读取这些文件的内容,一些常用的软件包有 - XLConnect, ...

  8. java解析excel文件,神操作!

    01 如何理解高并发? 高并发意味着大流量,需要运用技术手段抵抗流量的冲击,这些手段好比操作流量,能让流量更平稳地被系统所处理,带给用户更好的体验. 我们常见的高并发场景有:淘宝的双11.春运时的抢票 ...

  9. java 二进制 文件比较_Java中对文件的读写操作之比较

    Java 中对文件的读写操作之比较 作者:Jeru Liu 日期:November 29,2000 版本:1.0 纪念在chinaasp积分过一百呕心原创一篇(Java 中对文件的读写操作之比较)拿分 ...

最新文章

  1. elasticsearch如何安全重启
  2. web05-CounterServlet
  3. 技术分享 | 【构建服务端SDK】之连接中心统一调用SDK
  4. MPI程序例子 test_8_1_2.c -- 对等模式的MPI程序,Jacobi迭代 (MPI_Send、MPI_Recv)
  5. Android系统 (150)---Android 开发者工具
  6. __nonnull((1)) 未完待续
  7. mysql投资_[Leetcode]585. 2016年的投资(MySQL)
  8. 写代码时发现......还是SpringBoot牛逼!
  9. 印花对花不准(错花)形态及成因
  10. python基础:集合(set)
  11. RNNoise降噪训练
  12. 软件工程案例-仓库管理系统简单版
  13. 编译MKL50.1 (for 一加手机)
  14. Python的环境安装
  15. UVA 10306--e-Coins+dp
  16. 在vue中_this和this的区别
  17. CTF-安卓手机文件分析取证(陌陌发送的图片)
  18. matlab画图常见问题,matlab常见问题集
  19. 先序序列和后序序列并不能唯一确定二叉树
  20. 【通信原理】PC上调试MODBUS基本功能(附报文解析)

热门文章

  1. python中定义函数时有用到箭头符号的,箭头主要干什么用
  2. 发布新一代音视频技术架构,网易云信夯实头部玩家地位
  3. 普元nui:demo
  4. 大语言模型带来的一些启发
  5. 在论文中参考文献的引用
  6. html自动隐藏滚动条,隐藏HTML页面上的滚动条
  7. iOS16.1开发者预览版Beta3发布:优化壁纸功能
  8. 华为HCIP交换-RSTP
  9. PHP基本语法的小结
  10. 诺亚财富 X Hologres : 统一OLAP分析引擎,全面打造金融数字化分析平台