精华内容
下载资源
问答
  • 我上网查的时候,网上是说 今天要说的是在创建工作表时,用中文做文件名和工作表名会出现乱码的问题,先说以中文作为工作表名,大家创建工作表的代码一般如下: HSSFWorkbook workbook = new HSSFWorkbook();...

    1、异常java.lang.NoClassDefFoundError: org/apache/poi/UnsupportedFileFormatException

    解决方法:使用的poi的相关jar包一定版本一定要相同!!!!!

    2、maven所使用jar包,没有使用maven的话,就用poi-3.9.jar和poi-ooxml-3.9.jar(这个主要是用于Excel2007以后的版本)两个jar包就行()

    org.apache.poi

    poi

    3.9

    org.apache.poi

    poi-ooxml

    3.9

    3、java导入Excel

    先上传Excel

    //上传Excel

    @RequestMapping("/uploadExcel")

    public boolean uploadExcel(@RequestParam MultipartFile file,HttpServletRequest request) throws IOException {

    if(!file.isEmpty()){

    String filePath = file.getOriginalFilename();

    //windows

    String savePath = request.getSession().getServletContext().getRealPath(filePath);

    //linux

    //String savePath = "/home/odcuser/webapps/file";

    File targetFile = new File(savePath);

    if(!targetFile.exists()){

    targetFile.mkdirs();

    }

    file.transferTo(targetFile);

    return true;

    }

    return false;

    }

    在读取Excel里面的内容

    public static void readExcel() throws Exception{

    InputStream is = new FileInputStream(new File(fileName));

    Workbook hssfWorkbook = null;

    if (fileName.endsWith("xlsx")){

    hssfWorkbook = new XSSFWorkbook(is);//Excel 2007

    }else if (fileName.endsWith("xls")){

    hssfWorkbook = new HSSFWorkbook(is);//Excel 2003

    }

    // HSSFWorkbook hssfWorkbook = new HSSFWorkbook(is);

    // XSSFWorkbook hssfWorkbook = new XSSFWorkbook(is);

    User student = null;

    List list = new ArrayList();

    // 循环工作表Sheet

    for (int numSheet = 0; numSheet

    //HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(numSheet);

    Sheet hssfSheet = hssfWorkbook.getSheetAt(numSheet);

    if (hssfSheet == null) {

    continue;

    }

    // 循环行Row

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

    //HSSFRow hssfRow = hssfSheet.getRow(rowNum);

    Row hssfRow = hssfSheet.getRow(rowNum);

    if (hssfRow != null) {

    student = new User();

    //HSSFCell name = hssfRow.getCell(0);

    //HSSFCell pwd = hssfRow.getCell(1);

    Cell name = hssfRow.getCell(0);

    Cell pwd = hssfRow.getCell(1);

    //这里是自己的逻辑

    student.setUserName(name.toString());

    student.setPassword(pwd.toString());

    list.add(student);

    }

    }

    }

    }

    4、导出Excel

    //创建Excel

    @RequestMapping("/createExcel")

    public String createExcel(HttpServletResponse response) throws IOException {

    //创建HSSFWorkbook对象(excel的文档对象)

    HSSFWorkbook wb = new HSSFWorkbook();

    //建立新的sheet对象(excel的表单)

    HSSFSheet sheet=wb.createSheet("成绩表");

    //在sheet里创建第一行,参数为行索引(excel的行),可以是0~65535之间的任何一个

    HSSFRow row1=sheet.createRow(0);

    //创建单元格(excel的单元格,参数为列索引,可以是0~255之间的任何一个

    HSSFCell cell=row1.createCell(0);

    //设置单元格内容

    cell.setCellValue("学员考试成绩一览表");

    //合并单元格CellRangeAddress构造参数依次表示起始行,截至行,起始列, 截至列

    sheet.addMergedRegion(new CellRangeAddress(0,0,0,3));

    //在sheet里创建第二行

    HSSFRow row2=sheet.createRow(1);

    //创建单元格并设置单元格内容

    row2.createCell(0).setCellValue("姓名");

    row2.createCell(1).setCellValue("班级");

    row2.createCell(2).setCellValue("笔试成绩");

    row2.createCell(3).setCellValue("机试成绩");

    //在sheet里创建第三行

    HSSFRow row3=sheet.createRow(2);

    row3.createCell(0).setCellValue("李明");

    row3.createCell(1).setCellValue("As178");

    row3.createCell(2).setCellValue(87);

    row3.createCell(3).setCellValue(78);

    //.....省略部分代码

    //输出Excel文件

    OutputStream output=response.getOutputStream();

    response.reset();

    response.setHeader("Content-disposition", "attachment; filename=details.xls");

    response.setContentType("application/msexcel");

    wb.write(output);

    output.close();

    return null;

    }

    补充说明乱码问题

    1、文件名乱码(我发现只要解决了文件名乱码,其他乱码也会跟着解决)response.setHeader("Content-disposition", "attachment; filename=中文.xls");

    这个方法可以当做一个公用方法来使用,以后有乱码的都可以调用此方法

    public static String toUtf8String(String s){

    StringBuffer sb = new StringBuffer();

    for (int i=0;i

    char c = s.charAt(i);

    if (c >= 0 && c <= 255){sb.append(c);}

    else{

    byte[] b;

    try { b = Character.toString(c).getBytes("utf-8");}

    catch (Exception ex) {

    System.out.println(ex);

    b = new byte[0];

    }

    for (int j = 0; j < b.length; j++) {

    int k = b[j];

    if (k < 0) k += 256;

    sb.append("%" + Integer.toHexString(k).toUpperCase());

    }

    }

    }

    return sb.toString();

    }

    调用的时候,response.setHeader("Content-disposition", "attachment; filename="+toUtf8String("中文.xls"));

    我上网查的时候,网上是说

    今天要说的是在创建工作表时,用中文做文件名和工作表名会出现乱码的问题,先说以中文作为工作表名,大家创建工作表的代码一般如下:

    HSSFWorkbook workbook = new HSSFWorkbook();//创建EXCEL文件

    HSSFSheet  sheet= workbook.createSheet(sheetName);    //创建工作表

    这样在用英文名作为工作表名是没问题的,但如果sheetName是中文字符,就会出现乱码,解决的方法如下代码:

    HSSFSheet  sheet= workbook.createSheet();

    workbook.setSheetName(0, sheetName,(short)1); //这里(short)1是解决中文乱码的关键;而第一个参数是工作表的索引号。        但是我发现根本没有这个方法,只需要改了文件名的乱码,其他乱码自然就解决了!!!

    展开全文
  • java workbook

    千次阅读 2021-02-25 18:36:25
    workBook 处理类 Java 代码 /** * Excel WorkBook 工具类 * @author dsy * @version 1.0 */ public class ExcelWorkBook { public HSSFWorkbook workbook = ......在Java 中读写 Excel 文件 Jakarta 的 POI 项目提供...

    workBook 处理类 Java 代码 /** * Excel WorkBook 工具类 * @author dsy * @version 1.0 */ public class ExcelWorkBook { public HSSFWorkbook workbook = ......

    在Java 中读写 Excel 文件 Jakarta 的 POI 项目提供了一组操纵 Windows 文档的 Java API, 如下几个类提供了 操作 Excel 文件的方便的途径: HSSFWorkbook、HSSF......

    Excel 与 POI 类对应关系 Excel POI 用途 整个 Excel ermodel.HSSFWorkbook 创建或装载整个 Excel 文件 Sheet er......

    3、打开 Workbook Java 代码 1. 2. 3. 4. 5. 6. 7. 8. 9. //方法一:使用 WorkbookFactory FileInputStream Workbook wb in = = null; null; try ......

    (如将测试结果写入测试用例) import java.io.File; import java.io.IOException; import jxl.CellType; import jxl.Workbook; import jxl.read.biff.BiffException......

    //读取 Excel 数据表的第一步是创建 Workbook(术语:工作 薄),下面的代码片段举例说明了应该如何操作: //(完整代码见 ExcelReading.java) try { //构建 ......

    (WORKBOOK) Java 代码 package Excel2003; import java.io.FileOutputStream; import java.io.IOException; import ermodel.HSSFWorkbook; ......

    (CreateXLS.java

    展开全文
  • python Workbook()常用方法 from openpyxl import Workbook,load_workbook wb = Workbook() # 在本地创建Excel工作簿 ws = wb.active # 激活worksheet w1 = wb.create_sheet("w1") # 在“wb”工作簿中新建一个名为...

    python Workbook()常用方法

    from openpyxl import Workbook,load_workbook
    wb = Workbook()  # 在本地创建Excel工作簿
    ws = wb.active  # 激活worksheet
    w1 = wb.create_sheet("w1")  # 在“wb”工作簿中新建一个名为"w1"的sheet,默认的位置为最后
    w2 = wb.create_sheet("w2",0)  # 在"wb"工作簿中新建名为"w2"的sheet,将位置设置为0,即第一个
    ewb = load_workbook("ewb.xlsx")  # 加载本地已经存在的Excel工作簿
    wb.save("wb.xlsx")  # 将工作簿存为
    
    
    展开全文
  • python中xlwt是什么

    2020-12-30 15:35:47
    python写excel——xlwt写excel的难点可能不在构造一个workbook的本身,而是填充的数据,不过这不在范围内。在写excel的操作中也有棘手的问题,比如写入合并的单元格就是比较麻烦的,另外写入还有不同的样式。这些要...

    python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库。

    python写excel——xlwt

    写excel的难点可能不在构造一个workbook的本身,而是填充的数据,不过这不在范围内。在写excel的操作中也有棘手的问题,比如写

    入合并的单元格就是比较麻烦的,另外写入还有不同的样式。这些要看源码才能研究的透。

    我"构思"了如下面的sheet1,即要用xlwt实现的东西:

    代码如下:'''

    设置单元格样式

    '''

    def set_style(name,height,bold=False):

    style = xlwt.XFStyle() # 初始化样式

    font = xlwt.Font() # 为样式创建字体

    font.name = name # 'Times New Roman'

    font.bold = bold

    font.color_index = 4

    font.height = height

    # borders= xlwt.Borders()

    # borders.left= 6

    # borders.right= 6

    # borders.top= 6

    # borders.bottom= 6

    style.font = font

    # style.borders = borders

    return style

    #写excel

    def write_excel():

    f = xlwt.Workbook() #创建工作簿

    '''

    创建第一个sheet:

    sheet1

    '''

    sheet1 = f.add_sheet(u'sheet1',cell_overwrite_ok=True) #创建sheet

    row0 = [u'业务',u'状态',u'北京',u'上海',u'广州',u'深圳',u'状态小计',u'合计']

    column0 = [u'机票',u'船票',u'火车票',u'汽车票',u'其它']

    status = [u'预订',u'出票',u'退票',u'业务小计']

    #生成第一行

    for i in range(0,len(row0)):

    sheet1.write(0,i,row0[i],set_style('Times New Roman',220,True))

    #生成第一列和最后一列(合并4行)

    i, j = 1, 0

    while i 

    sheet1.write_merge(i,i+3,0,0,column0[j],set_style('Arial',220,True)) #第一列

    sheet1.write_merge(i,i+3,7,7) #最后一列"合计"

    i += 4

    j += 1

    sheet1.write_merge(21,21,0,1,u'合计',set_style('Times New Roman',220,True))

    #生成第二列

    i = 0

    while i 

    for j in range(0,len(status)):

    sheet1.write(j+i+1,1,status[j])

    i += 4

    f.save('demo1.xlsx') #保存文件

    if __name__ == '__main__':

    #generate_workbook()

    #read_excel()

    write_excel()

    更多技术请关注云海天Python教程。

    展开全文
  • workbook对象

    千次阅读 2020-12-19 07:02:28
    7.1激活第一个和最后一个工作簿workbooks.count,workboks(i).activate7.2获取工作簿名称,使用名称引用工作簿;改工作簿名称不能用name属性,需用saveas方法workbooks(i).name7.3打开一个新工作簿(新建空工作簿),...
  • from openpyxl import load_workbook workbook = load_workbook('D:\\Py_exercise\\test_openpyxl.xlsx') #booksheet = workbook.active #获取当前活跃的sheet,默认是第一个sheet sheets = workbook.get_sheet_...
  • import ...import com.smartxls.WorkBook;public class CommentReadSample{public static void main(String args[]){WorkBook workBook = new WorkBook();try{workBook.read("..\\template\\...
  • Workbook 对象 应用示例

    2020-12-19 07:02:27
    Workbook对象代表一个工作簿,Workbooks集合对象则代表同一Excel进程中打开的所有工作簿对象。[应用1] 创建新工作簿(Add方法)使用Add方法在Workbooks集合中创建新工作簿,所创建的工作簿为活动工作簿。其语法为:...
  • 继上篇之后准备开始实操时发现一个问题,即Workbook()是创建一个类对象,而load_workbook()是一个方法加载存在的excel。 由于在学习openpyxl时吸取了不同教程,按照读取→编辑→再编辑→保存的逻辑列举了常用的基础...
  • workbook.getsheet

    2021-03-08 06:03:16
    exportCellElemntToSheet... } edit by zwh 20090331 第 7 页共 8 页 sheet = workBook.getSheet(sheet......文件的工作簿.接下来我们就可以通过此文件 簿得到其他的东西了.以下是得到工作表有关的方法 int ge...
  • python xlwt模块简介

    2021-03-05 13:58:52
    一、基础类介绍1、工作簿类Workbook简介:importxlwtclassWorkbook(object0):‘‘‘工作簿类,使用xlwt创建excel文件时,首先要实例化此类的对象‘‘‘def __init__(self, encoding=‘ascii‘, style_compression=0)...
  • 'workbook.xlsx') ws_1 = wb.add_sheet('first_sheet') ws_2 = wb.add_sheet('second_sheet') for c in range(data.shape[0]): for r in range(data.shape[1]): ws_1.write(r, c, data[c, r]) ws_2.write(r, c, data...
  • Workbook workbook = null; try { workbook = WorkbookFactory.create(new FileInputStream(file)); } catch (IOException e) { e.printStackTrace(); } // 获取文件的第几个Sheet,从0开始 Sheet sheetAt = ...
  • java使用Workbook进行excel读取和创建

    千次阅读 2021-02-25 18:36:20
    public static void main(String...a.xls为要读取的excel文件名,不可为xlsx后缀Workbook book = Workbook.getWorkbook(new File("E:\\a.xls"));//获得第一个工作表对象(ecxel中sheet的编号从0开始,0,1,2,3,....)Shee...
  • Workbook book = null; Cell cell = null; //避免乱码的设置 WorkbookSettings setting = new WorkbookSettings(); java.util.Locale locale = new java.util.Locale("zh","CN"); setting.setLocale(locale); ...
  • Python——load_workbook用法功能方法示例文件模块读取 功能 读取excel文件,并进行操作 方法 示例文件 模块读取 from openpyxl import load_workbook wb = load_workbook("电信成绩单.xlsx") wb '<openpyxl....
  • 我看到与此标头有关的多...private void createHandBackFile(XSSFSheet sheet, String programId, XSSFWorkbook workbook) throws IOException {String output = "C:\\Users\\muddassirr\\Downloads\\Personal\\STOR...
  • import openpyxlwb=openpyxl.Workbook()print('1、添加前所有工作簿的名称是:',wb.get_sheet_names())wb.create_sheet('FENG') ###可以加索引,也可以不加,如下条代码。wb.create_sheet(title='huan',index=2)...
  • 内容添加,以前是用的HSSF,前几天帮同学写一个统计表用了Workbook,现在码一下。---新内容(Workbook)---同学要统计一个xls表格,让表1里面的某一列内容对表2里面的每列进行匹配,匹配到第1列,在表1的另一列对应行...
  • 通过openpyxl模块创建workbook时,无需本地事先创建好excel,它会直接创建一个新的excel文件 创建workbook时,会至少包含一个worksheet 注意:openpyxl模块只支持.xlsx,.xlsm,.xltx,.xltm格式 使用示例: 导入...
  • easyexcel Create workbook failure 问题解决

    千次阅读 2021-03-22 16:46:22
    但我们将项目部署到服务器上报 Create workbook failure。 产生原因 服务器不支持excel的字体格式 解决方案 安装 ttf-dejavu 具体执行命令:apk --update add curl bash ttf-dejavu && \ rm -rf /var/...
  • 接收MultipartFile直接转化为Workbook 情况1: 直接这样转化 //不管2003 .xls还是2007 .xlsx 都是 //用 new XSSFWorkbook(file.getInputStream())将MultipartFile文件转为Workbook文件 Workbook workbook = new ...
  • 当单元格有引用其他表格中单元格的值时,而且引用不正确或找不到引用表格时,则会出现此异常 引用错误或找不到引用表格时,单元格会显示错误且POI解析时会报异常,如图: Could not resolve external workbook name ...
  • 背景介绍:使用Java开发信息系统项目,项目中往往会涉及到报表管理部分,而Excel表格首当其冲称为最合适的选择,但是对单元格操作时对于设置...// 创建一个 workbook 对象Workbook workbook = new XSSFWorkbook()...
  • #region 解决目录无权限 string pathFolder = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\" + Guid.NewGuid().... workbook.Save(); workbook.Close(); File.Copy(pathFolder, f..
  • import org.apache.poi.ss.usermodel.Workbook; //导入方法依赖的package包/类/*** excel 下载*/@RequestMapping(value = "downLoad")public void downLoad(HttpServletRequest request, HttpServletResponse ...
  • Excel VBA:Workbook_Open

    2021-07-16 18:38:58
    I'm using Workbook_Open to call a userform when the application is opened, this is working fine. However I would like it to only run the first time it is opened.I tried this and it work if I run the s...
  • 使用openpyxl的load_workbook读取处理时,报错file is not a zip file. 使用WPS新建并保存这个要读取的xlsx文件,即可解决
  • 本文整理匯總了Java中org.apache.poi.ss.usermodel.Workbook.createCellStyle方法的典型用法代碼示例。如果您正苦於以下問題:Java Workbook.createCellStyle方法的具體用法?Java Workbook.createCellStyle怎麽用?...
  • import org.apache.poi.ss.usermodel.Workbook; //导入方法依赖的package包/类/*** excel 下载*/@RequestMapping(value = "downLoad")public void downLoad(HttpServletRequest request, HttpServletResponse ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 116,930
精华内容 46,772
关键字:

workbook是什么