如何阅读具有html表格的读取.xls文件,如Stringbuffer中的数据?

时间:2017-08-24 11:14:51

标签: java io jxl

我正在使用 StringBuffer 将数据写入xls文件(其中StringBuffer里面我正在使用 HTML表代码),并且在尝试读取相同的xls文件时我是无法阅读,请你帮忙。使用jxl-1.0 jar - 注意:我能够使用我的代码读取普通的xls文件(但无法读取我生成的xls文件) 用于生成xls文件

complete code just copy it and paste
jQuery(document).ready(function(){
        jQuery('.small').click(function(){
            if(jQuery(this).hasClass('active')!=true);
            {
                jQuery('.small').removeClass('active');
                jQuery(this).addClass('active');
                var new_link=jQuery(this).children('img').attr('src');
                jQuery(countainer).children('img').attr('src',img_link);

            }
            });
        });
</script>
</head>

<body>

    <div class="countainer">
        <img src="image/slideme-jQuery-slider.jpg" width="400" heiht="200"/ alt="">
    </div>
    <div class="clear"></div>
    <br/>
    <div class="mini">
        <div class="small active">
            <img src="image/Galleria-JavaScript-Image-Gallery.jpg" height="50" width="50" alt="" />
        </div>
        <div class="small">
            <img src="image/Trip-Tracker-slideshow.jpg" height="50" width="50" alt="" />
        </div>

        <div class="small">
            <img src="image/Visual-Lightbox-Gallery.jpg" height="50" width="50" alt="" />
        </div>

        <div class="small">
            <img src="image/RoyalSlider_-_Touch-Enabled_Image_Gallery_and_Content_Slider_Plugin.jpg" alt="" height="50" width="50" />
        </div>
        <div class="small">
            <img src="image/UnoSlider-jQuery-image-slider.jpg" height="50" width="50" />

        </div>
    </div>

阅读Xls文件

package com.java;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileWriter;
    import java.io.IOException;
    public class WriteXlsFile {
            public static void main(String[] args) throws IOException 
            {
                StringBuffer sbf = new StringBuffer();
                sbf.append("<table>");
                sbf.append("<tr>");
                sbf.append("<th>Firstname</th>");
                sbf.append("<th>Lastname</th>");
                sbf.append("<th>Age</th>");
                sbf.append("</tr>");
                sbf.append("<tr>");
                sbf.append("<td>Jill</td>");
                sbf.append("<td>Smith</td>");
                sbf.append("<td>50</td>");
                sbf.append("</tr>");
                sbf.append("<tr>");
                sbf.append("<td>Eve</td>");
                sbf.append("<td>Jackson</td>");
                sbf.append("<td>94</td>");
                sbf.append("</tr>");
                sbf.append("</table>");          
                BufferedWriter bwr = new BufferedWriter(new FileWriter(new File("d:/demo.xls")));
                bwr.write(sbf.toString());
                bwr.flush();
                bwr.close();
                System.out.println("Content of StringBuffer written to File.");
            }
    }

2 个答案:

答案 0 :(得分:0)

你不能这么简单...... XLS不是HTML,Excell程序有这个功能,但它不是那样......它解析来自html的表并将其转换为实际的xls工作表,您不能只保存HTML扩展名下的常规xls文件并将其打开为XLS文件 - 它不会神奇地转换。 您需要找到一些可以做到这一点的库,例如。 https://github.com/alanhay/html-exporter

答案 1 :(得分:0)

您不是以XLS格式编写文件,而是以Excel将其理解为表格数据的HTML文件。在读取该文件时,JXL需要一个XLS格式的文件。

您需要使用write API的XLS,但我不知道该API是否在1.0版中可用。或者(如果您未与项目中的JXL绑定),可以使用Apache POI,它支持更广泛的功能。