标签: jexcelapi

用Java创建Excel文件

我想创建一个Excel文件并写入数据就像用Java编写文本文件一样.我试图将文件扩展名更改.txt.xls.但我想在Excel文件中加粗字母.我怎样才能做到这一点?

我尝试过使用JXL API,但每次创建标签时都要添加标签.不能编辑表的行和列吗?

java excel jexcelapi

41
推荐指数
4
解决办法
20万
查看次数

如何解决JXL错误:jxl.read.biff.BiffException:无法识别OLE流

我试图从我的.csv文件中获取单元格数据,但它收到错误:jxl.read.biff.BiffException:无法识别OLE流

我不明白如何解决这个问题,请给我一些解决方案,这段代码是针对jxl api的,是对.csv的api支持吗?

代码:

public void read() throws IOException, BiffException  {

    File inputWorkbook = new File(inputFile);

    try
    {
        w = Workbook.getWorkbook(inputWorkbook.getAbsoluteFile());
        // Get the first sheet
        Sheet sheet = w.getSheet(0);
        // Loop over first 10 column and lines

        for (row = 1; row < sheet.getRows(); row++) 
        {
            ReadExcelLotSizeEntity readExcelLotSizeEntity =new ReadExcelLotSizeEntity();

                cell = sheet.getCell(1,row);
                type= cell.getType();
                if (cell.getType() == CellType.LABEL)
                {

                    symbol=cell.getContents();
                    System.out.println(":::::::::::::::::"+symbol);
                    readExcelLotSizeEntity.setSymbol(symbol);
                }   

                int col=2;
                cell = sheet.getCell(col,row);
                while(!cell.getContents().equals("")||cell.getContents()!=null)
                {
                    System.out.println("||||||||||||||||"+cell.getContents());
                    cell=sheet.getCell(col,row);
                    col++;
                }
                lotSize= new Double(cell.getContents());
                readExcelLotSizeEntity.setLotSize(lotSize); …
Run Code Online (Sandbox Code Playgroud)

java jexcelapi

17
推荐指数
4
解决办法
8万
查看次数

JExcel中的编码问题

我正在使用JExcel在GAE/Java应用程序中加载excel文件,如下所示:

上传文件的html表单如下:

<form id="" action="/save" method="post" enctype="multipart/form-data" accept-charset="ISO-8859-1">
    <input name="file" type="file" value="load"/>
    <input type="submit"value="load excel"/>
</form>
Run Code Online (Sandbox Code Playgroud)

在服务器上我有:

ServletFileUpload upload = new ServletFileUpload();
FileItemIterator iterator = upload.getItemIterator(request);
while (iterator.hasNext()) {
    FileItemStream item = iterator.next();
    InputStream stream = item.openStream();
    if (!item.isFormField()) {
        //if it's not a form field it's a file

        Workbook workbook = Workbook.getWorkbook(stream);
        ...
        String name = sheet.getCell(COL_NUMBER, row).getContents();
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是,如果我在单元格中写入类似" cityó "的内容,当它在服务器中读取时,变量名称是" city"?".编码不正常.

我试图更改accept-charset ="ISO-8859-1"(将其设置为utf-8或删除它)但没有成功.

谁能告诉我怎么能解决这个问题呢.

谢谢

java google-app-engine encoding servlets jexcelapi

14
推荐指数
1
解决办法
1万
查看次数

使用默认程序打开Excel文件

我的程序成功创建并填充了Excel(.xls)文件.一旦创建,我希望在系统的默认程序(在我的情况下为Excel)中打开新文件.我怎样才能做到这一点?

对于我想在记事本中打开txt文件的旧程序,我使用了以下内容:

if (!Desktop.isDesktopSupported()) {
        System.err.println("Desktop not supported");
        // use alternative (Runtime.exec)
        return;
    }

    Desktop desktop = Desktop.getDesktop();
    if (!desktop.isSupported(Desktop.Action.EDIT)) {
        System.err.println("EDIT not supported");
        // use alternative (Runtime.exec)
        return;
    }

    try {
        desktop.edit(new File(this.outputFilePath));
    } catch (IOException ex) {
        ex.printStackTrace();
    }
Run Code Online (Sandbox Code Playgroud)

当我尝试将此代码用于Excel文件时,它会给我以下错误:

java.io.IOException: Failed to edit file:C:/foo.xls
Run Code Online (Sandbox Code Playgroud)

建议?

java excel jexcelapi

11
推荐指数
1
解决办法
2万
查看次数

在JExcelApi中创建新颜色

我正在使用JExcelApi生成XLS文件.从jxl.format.Colour,我看到如何获得"标准Excel调色板"中的任何颜色,但不知道如何创建新颜色(例如,给定其RGB).

但在Excel本身,我可以选择任何颜色.

我只是错过了吗?JExcelApi中有没有办法选择任意颜色?我现在正在使用一种简单的找到最接近标准色的方法,这可以,但不是很好.

excel xls jexcelapi export-to-excel

8
推荐指数
2
解决办法
1万
查看次数

如何在JExcel(jxl)中将格式化的数字写为数字

我正在使用Java Spring和jxl在服务器端创建Excel工作簿.需要在Excel中显示的数据包含已格式化的数字.我在用

WritableCellFormat wcf = new WritableCellFormat();
wcf.setAlignment(Alignment.RIGHT);
....
....
sheet.addCell(new Label(j, i + 1, xxx, wcf));
//where xxx is a string which is a number already formatted
Run Code Online (Sandbox Code Playgroud)

在下载的excel文件中,所有这些数字都存储为文本,因此Excel不能在它们上使用公式,它会发出警告"数字存储为文本",我必须做'转换为数字'.

在jxl中,我们可以传递字符串并告诉它们将它们解释为数字吗?我拥有的所有数字都是使用$,%,千位分隔符格式化的有效数字.我不想将它们转换为有效数字,并在导出到excel时再次给它们格式化.

请帮忙.谢谢.

java excel spring jxl jexcelapi

8
推荐指数
2
解决办法
1万
查看次数

我应该使用哪个库来编写Linux/Python的XLS?

我喜欢一个很好的原生Python库来编写XLS,但它似乎并不存在.令人高兴的是,Jython确实如此.

所以我想在jexcelapi和Apache HSSF之间做出决定:http ://www.andykhan.com/jexcelapi/tutorial.html#writing http://poi.apache.org/hssf/quick-guide.html

(我不能使用COM自动化,因为我不在Windows上,即使我是,我也买不起Office许可证.)

我最初的想法是POI/HSSF非常彻底,但也非常Java--一切似乎都比它需要的更难.良好的文档,但我的头痛害试图弥合它描述的内容和我需要完成的之间的差距.

jexcepapi似乎有一个更简单,更好(对我来说)的界面,但没有很好的文档或社区.

你会用哪个,为什么?

python java xls hssf jexcelapi

7
推荐指数
1
解决办法
1万
查看次数

无法使用JExcel API复制Excel工作表

我正在处理一些相当复杂的excel文件,并遇到了复制工作表的问题.每当我尝试复制不完全空白的工作表时,我都会收到以下消息:

Exception in thread "main" java.lang.NullPointerException
     at jxl.write.biff.WritableSheetCopier.shallowCopyCells(WritableSheetCopier.java:499)
     at jxl.write.biff.WritableSheetCopier.copySheet(WritableSheetCopier.java:239)
     at jxl.write.biff.WritableSheetImpl.copy(WritableSheetImpl.java:1622)
     at jxl.write.biff.WritableWorkbookImpl.copySheet(WritableWorkbookImpl.java:987)
     at excelCalc.main(excelCalc.java:18)
Run Code Online (Sandbox Code Playgroud)

我想知道这里的问题是什么.为什么会有一个".copySheet("函数,如果它不能用于包含信息的工作表.为了尝试以更简单的比例重现问题,我创建了你在下面看到的代码.我希望输出看是2个相同的表格,单元格(0,0)的标签是"test".一个名为"Flows"的表格,另一个是"复制".有关为何给出这个空指针的任何想法?

import java.io.File;

import jxl.*;
import jxl.write.*;

public class excelCalc
{
    public static void main(String[] args) throws Exception
    {
        WritableWorkbook outputBook = Workbook.createWorkbook(new File("C:/Users/Kevin Brey/CS243/ExcelTest/files/output", "output.xls"));

        WritableSheet rSheet = outputBook.createSheet("Flows", 0);

        rSheet.addCell(new Label(0, 0, "test"));
        outputBook.copySheet(0, "copy", 0);
        outputBook.write();
        outputBook.close();
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:此代码也提供相同的异常:

import java.io.File;

import jxl.*;
import jxl.write.*;

public class excelCalc
{
    public static void main(String[] args) throws Exception
    {
        WritableWorkbook outputBook = …
Run Code Online (Sandbox Code Playgroud)

java api excel jxl jexcelapi

7
推荐指数
1
解决办法
3738
查看次数

在Java中呈现Excel工作表报表的最佳实践是什么?

我需要生成一个excel表报告,看起来像以下模板 - Excel报告

我知道这可以使用像JExcelApi和的库来完成Apache POI.但是,我想知道是否有办法通过编写类似于编写Apache Velocity模板来发送电子邮件的模板来完成此操作.

如果有一个标准的,良好实践的方法来生成这样的报告是什么?

java excel reporting jexcelapi apache-poi

6
推荐指数
1
解决办法
3328
查看次数

将JTable写入Excel

我打算将JTable的内容移动到Microsoft Excel工作表中.Excel工作表应具有一些格式规范.例如,如果列的值为"A",则它应为绿色.如果它是'B'红色.

我处于分析阶段.我应该使用哪个罐子?数据不是很大.性能不是一个大问题.

java excel swing jexcelapi apache-poi

5
推荐指数
1
解决办法
1765
查看次数