jxl-JXL 在java中 为什 这样写了导出的excel只有一行

问题描述

JXL 在java中 为什 这样写了导出的excel只有一行

public class Test {

public static void main(String[] args) throws Exception{
    JSONObject jsonObject;// json类数据,
    int line = 0;

    Date d = new Date();
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddhhmmss");
    WritableWorkbook workbook = Workbook.createWorkbook(new File("F:/test/commentEXL"+dateFormat.format(d)+".xls"));
    //生成名为“第一页”的工作表,参数0表示这是第一页

    String htmlUrl = "http://apk.hiapk.com/appinfo/com.tencent.mm";
    Document doc = Jsoup.connect(htmlUrl).get();
    Elements eleHidAppId = doc.select("div#webInnerContent>div>div.detail_left>input#hidAppId");
    Elements eleHidAppName = doc.select("div#webInnerContent>div>div.detail_left>input#hidAppName");

    WritableSheet sheet= workbook.createSheet(eleHidAppName.val().toString(),0);
    String strHidAppId = eleHidAppId.val().toString();
    System.out.println(strHidAppId);
    double douRate;Number rate;
    for (int i = 1;i<=10; i++) {

        Document documentComment = Jsoup.connect(
                "http://apk.hiapk.com/web/api.do?qt=1701&id=" + strHidAppId+ "&pi=" + i + "&ps=10").get();
        Elements eleComment = documentComment.select("body");

        if (eleComment.text().isEmpty())
            break;

        jsonObject = new JSONObject(eleComment.text());//把获取的json型数据赋给jsonObject
        JSONArray jsonArray = jsonObject.getJSONArray("data");//提取data

        for (int j = 0; j < jsonArray.length(); j++) {
            JSONObject jsonComment = jsonArray.getJSONObject(j);
            String strComment = jsonComment.getString("content");
            douRate = Double.valueOf(jsonComment.getString("rating"));
            rate = new Number(0,line, douRate);
            Label label = new Label(1,line,strComment);
            line++;
            sheet.addCell(rate);
            sheet.addCell(label);
            workbook.write();
        System.out.println(douRate + "   " + strComment);
        }
    }
    workbook.close();
    System.out
            .println("--------------------End Loading-----------------------");
}

}

解决方案

缺少Row的相关代码。

// 产生表格标题行
HSSFRow row = sheet.createRow(0);
for (int i = 0; i < list.size(); i++) {

            row = sheet.createRow(dataRowNum++); //创建行

解决方案二:

看你的代码是想在外层循环是处理Excel的每一行,内存循环是每一列的信息。
Excel的结构是Sheet——>Row——>Cell。你应该在外层for循环中创建Row对象,添加该Row到Sheet上,内层循环的addCell是添加到Row对象上。
祝好!

解决方案三:

你的内层循环rate = new Number(0,line, douRate);都是操作的第一行。
应该是rate = new Number(i,line, douRate);
你修改试试!祝好!

解决方案四:

楼上说的都需要确认,另外jxl的包应还在维护吗?我都换成Apache POI了。

时间: 2024-12-20 23:35:57

jxl-JXL 在java中 为什 这样写了导出的excel只有一行的相关文章

代码-java中怎么引用自己写的函数

问题描述 java中怎么引用自己写的函数 我是一个java新手,写了一段代码,有关:摄氏度和华氏度之间的互相转化 package method; import method.HuaShe; public class TestCToFandFToC { public static void main(String[] args){ System.out.println("摄氏 华氏 华氏 摄氏"); for(int i = 1;i <= 10;i++){ double she1 =

java中哪些变量应该写在服务器,哪些变量应该写在客户端

问题描述 java中哪些变量应该写在服务器,哪些变量应该写在客户端 java中哪些变量应该写在服务器,哪些变量应该写在客户端 客户端的变量和服务器端的变量是一一对应的吗 解决方案 服务器和客户端是两个程序,甚至不是一种语言,和变量没有什么关系.一般来说,服务器放敏感的数据,比如用户账户密码,充值余额之类的.客户端放相对不敏感的数据,比如说用户设置,上次登录的用户名等等. 你一个完整的系统,两者当然是相关的. 解决方案二: 客户端用到的变量写在客户端 服务端用到的变量写在服务端

java中String不能分行写

问题描述 Stringstr="aaaaaa";这样写会出错,必须要在两行之间加上+大家有遇到过吗, 解决方案 解决方案二:java字符串是不能分行写解决方案三:"分行要像这样"+"分别加双引号"解决方案四:遇到过编译器这么规定的你有啥子疑问吗解决方案五:这个和IDE工具也有关系,一般情况下,如果字符串过长换行时会以"+"来连接字符串.解决方案六:就是不能分行写,没什么.分行写放在eclipse中直接飘红.解决方案七:楼上几位

return语句应该写在方法体的里面还是写在方法体的外面java中

问题描述 return语句应该写在方法体的里面还是写在方法体的外面java中 return语句应该写在方法体的里面还是写在方法体的外面java中,return语句有时候是一个表达式呢 解决方案 方法如果需要在调用的时候返回结果,就要在方法体里边体现return语句,也有不需要return语句的情况,比如void方法 解决方案二: 在类里面申明方法,在类外面写方法体 解决方案三: java类只有两个内容.一个是属性,一个是方法.如果return放到方法外是会报错的.return可以是表达式,比如:

Java中使用JCOM操作Office对象_JSP编程

通过使用COM技术,我们用微软Office应用程序能够建立很多应用程序扩展,但是Java开发人员却无法享受它带来的便利--除非他们拥有方便的Java访问COM的途径(Java-to-COM桥).使用JCom的时候,你可以在Java中控制几乎所有的COM对象,而且它还带有一些用于Excel的强大的辅助类. 在你每次编写用HTML表格样式或Java表格对象显示数据的应用程序的时候,通常都需要带有"导出到Excel"功能.那么头疼的问题就出现了.怎么样实现这种功能呢?在HTML中显示的可以在

ASP.NET中把Gridview内容导出到Excel示例

第一步:先建立一个基本的aspx页面default.aspx,我们掐头去尾,只来关键的代码:  代码如下 复制代码 <form id="form1" runat="server"> <div> <asp:GridView ID="GridView1" runat="server"> </asp:GridView> </div> <br/> <asp:

源码-请教关于java中jxl jar包原理

问题描述 请教关于java中jxl jar包原理 最近使用jxl操作excel,对其中源码有些疑问,表示看不懂,请问哪位大神指导源码中的Java代码是怎么操作Excel的? 解决方案 用pio吧,jxl不支持2010+的office文件 解决方案二: 楼主看看这些java书籍对你有没有用 http://download.csdn.net/album/detail/1191

jsp mysql excel-在jsp中使用jxl.jar包来将mysql搜索语句sql结果集导出到excel文件

问题描述 在jsp中使用jxl.jar包来将mysql搜索语句sql结果集导出到excel文件 整体构思是:连接数据库由DBManager.java,创建excel样式由Excel.java:最后在excel.jsp实现!但现在数据库数据并不能显示,求指教,我是java小白! Excel.java代码 package com; import java.io.*; import java.sql.*; import javax.sql.rowset.CachedRowSet; import com

jxl中怎么设置导出的excel表格加密或者设置表格内容隐藏不可读

问题描述 jxl中怎么设置导出的excel表格加密或者设置表格内容隐藏不可读 jxl中怎么设置导出的excel表格加密或者设置表格内容隐藏不可读 解决方案 得到Sheet对象后,调用其getSettings() 方法会返回一个SheetSettings对象.而SheetSettings对象有一个setPassword(String s)方法可以用来设置密码.