0 0

把先引入表单元格的样式复制到后引入的表中5

public class TestJxl {
public static void main(String args[]) {
JFileChooser jfc = new JFileChooser();
jfc.showOpenDialog(null);
File f1 = jfc.getSelectedFile();
int q, w;
List<String> list = new ArrayList<String>();
try {
FileInputStream fis = new FileInputStream(f1);
Workbook wb1 = Workbook.getWorkbook(f1);
jxl.Sheet st = wb1.getSheet(0);
Cell cell = null;
q = st.getColumns();
w = st.getRows();
System.out.println(q);
System.out.println(w);
for (int i = 0; i < q; i++) {
for (int j = 0; j < w; j++) {
cell = st.getCell(i, j);
list.add(cell.getContents());
}
}
for (String ss : list) {
System.out.println(ss);
}
jfc.showOpenDialog(null);
File f2 = jfc.getSelectedFile();
FileInputStream fis1=new FileInputStream(f2);
Workbook rwb=Workbook.getWorkbook(fis1);
WritableWorkbook wwb = Workbook.createWorkbook(f2,rwb);
WritableSheet dataSheet = wwb.getSheet(0);
jxl.write.WritableCellFormat CwcfF=
new jxl.write.WritableCellFormat(st.getCell(0, 0).getCellFormat());
int r=dataSheet.getRows();
int y = 0;
for (int i = 0; i < q; i++) {
for (int j = r+1; j < r+w+1; j++) {
dataSheet.addCell(new Label(i, j, list.get(y++),CwcfF));
}
}
wwb.write();
wb1.close();
fis.close();
wwb.close();
fis1.close();
} catch (Exception ex) {
ex.printStackTrace();
}

}
}

问题补充:这里只选择了第一个引入表的第一个单元格样式
Jxl 
2012年8月14日 17:16

1个答案 按时间排序 按投票排序

0 0

你的问题又被我看到了,给你一个excel各种操作的例子吧,你运行看看效果,还有一些样式。

import java.io.File;
import java.net.URL;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import jxl.Workbook;
import jxl.write.DateTime;
import jxl.write.Formula;
import jxl.write.Label;
import jxl.write.Number;
import jxl.write.WritableCell;
import jxl.write.WritableCellFeatures;
import jxl.write.WritableHyperlink;
import jxl.write.WritableImage;

public class FormatWriteExcel
{
    private static String[] headerNames = {"String", "Number", "DateTime", "Range", "Hyperlinks", "Image"};
    
    public static void main(String[] a)
    {
        try
        {
            write("d:/a.xls");
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }
    
    public static void write(String file) throws Exception
    {
        //创建可写入的Excel工作薄对象
        jxl.write.WritableWorkbook lWriteWorkbook = null;
        try
        {
            lWriteWorkbook = Workbook.createWorkbook(new File(file));
            //读取当前工作表
            jxl.write.WritableSheet sheet = lWriteWorkbook.createSheet("数据格式", 0);
            
            for (int i = 0; i < headerNames.length; i++)
            {
                String lValue = (String) headerNames[i];
                Label lLabel = new jxl.write.Label(i, 0, lValue, ExcelStyle.getHeaderStyle());
                sheet.addCell(lLabel);
            }
            
            WritableCell cell = null;
            //文本格式
            cell = new Label(0, 1, "test1");
            sheet.addCell(cell);
            
            //数字格式
            cell = new Number(1, 1, 123.456);
            sheet.addCell(cell);
            cell = new Number(1, 2, 234.567);
            sheet.addCell(cell);
            
            //添加公式
            Formula formula = new Formula(1, 4, "SUM(B2:B3)");
            sheet.addCell(formula);
            
            //日期格式
            cell = new DateTime(2, 1, new Date());
            sheet.addCell(cell);
            
            //下拉选择格式
            Label label = new jxl.write.Label(3, 1, "是");   
            WritableCellFeatures wcf = new WritableCellFeatures();   
            List<String> angerlist = new ArrayList<String>();   
            angerlist.add("是");   
            angerlist.add("否");   
            wcf.setDataValidationList(angerlist);   
            label.setCellFeatures(wcf);   
            sheet.addCell(label);  

            //URL
            WritableHyperlink link = new WritableHyperlink(4, 1, new URL("http://www.baidu.com"));
            sheet.addHyperlink(link);
            
            //Image
            WritableImage wi = new WritableImage(5.0D, 1.0D, 2D, 9D, new File("E:/document/常用API/Java-ExcelApi/jexcelapi/resources/littlemoretonhall.png"));
            sheet.addImage(wi);
            
            //合并单元格
            cell = new Label(2, 6, "单元格合并");
            sheet.addCell(cell);
            sheet.mergeCells(2, 6, 3, 7);
            
            lWriteWorkbook.write();
            lWriteWorkbook.close();
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }
}

import jxl.format.Border;
import jxl.format.BorderLineStyle;
import jxl.format.Colour;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WriteException;

public class ExcelStyle
{
    private static WritableCellFormat HeaderFormat;
    
    static
    {
        WritableFont lHeaderWritableFont = new WritableFont(WritableFont.ARIAL, 12);
        //列头样式
        HeaderFormat = new WritableCellFormat(lHeaderWritableFont);

        try
        {
            HeaderFormat.setAlignment(jxl.format.Alignment.CENTRE);
            HeaderFormat.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
            HeaderFormat.setBackground(Colour.ICE_BLUE);
            HeaderFormat.setBorder(Border.ALL, BorderLineStyle.MEDIUM);
        }
        catch(WriteException e)
        {
            e.printStackTrace();
        }
    }
    
    public static WritableCellFormat getHeaderStyle()
    {
        return HeaderFormat;
    }
}


实际上,你的问题实现起来,就存在一个前提,两个表格的是否模板相同。
比如说,第一个表格第一行1至4列是合并单元格,而第二个表格第一列的1至4行是合并单元格,那么你这个样式如何设置呢?
如果表格的模板相同,那么只需要通过getCellFormat方法获取样式再循环复制到另一个表格中即可。

2012年8月14日 19:26

相关推荐

    使用XSSFWorkbook自由合并单元格并设置单元格样式

    本主题将深入探讨如何利用Java的Apache POI库中的XSSFWorkbook类来实现自由合并单元格,并设置单元格样式。Apache POI是一个流行的API,它允许开发者读取、创建和修改Microsoft Office格式的文件,包括Excel。 首先...

    Excel中单元格样式的合并.pdf

    在Excel中,单元格样式的合并是一项非常实用的功能,它允许用户快速地将其他工作表中的自定义单元格样式引入到当前工作表中,而无需重新创建这些样式。这一功能对于那些希望保持工作表风格一致或者高效利用已设计好...

    extjs单元格无法复制

    但是,在使用 ExtJS 的 GridPanel 组件时,可能会遇到单元格无法选中复制的问题,特别是在 IE 浏览器中。今天,我们将讨论如何解决这个问题。 ExtJS GridPanel 单元格无法选中复制的问题产生的原因是由于每个单元格...

    前端导出excel,可以控制样式,单元格合并居中等

    4. 添加工作表:使用`XLSX.utils.json_to_sheet()`将数据转换为工作表,并使用`XLSX.utils.book_append_sheet()`添加到工作簿中。 5. 设置样式:利用`XLSX.utils.sheet_add_aoa()`或`XLSX.utils.sheet_add_json()`...

    poi复制指定行数的Excel表格内容

    遍历源行中的每个单元格,获取其样式,然后应用到目标行的相应单元格上。这包括边框、字体、填充、对齐方式等。使用`CellStyle`对象来操作这些样式属性。 5. **保存新文件**:创建新的`Workbook`对象,将复制后的`...

    GridPanel中的单元格不能选中复制的解决方法

    解决Ext.grid.GridPanel中的单元格不能选中复制的问题需要从两个方面入手:添加新的CSS样式和修改Ext.grid.GridPanel的protoType。这些解决方案可以帮助开发者解决这个棘手的问题,提高用户体验。

    java excel poi合并单元格

    本篇文章将深入探讨如何使用Apache POI来合并Excel工作表中的单元格,以实现标题或者表头的美化。 首先,理解Excel的单元格合并机制是至关重要的。在Excel中,合并单元格意味着多个相邻的单元格被合并成一个大的...

    word NPOI合并单元格示例

    安装后,我们就可以在项目中使用NPOI的功能了。 接下来,创建一个新的Word文档或者打开已有的Word文档,这可以通过`XWdDocument`类实现: ```csharp using NPOI.XWd; using NPOI.HPSF; using NPOI.XWd.Model; // ...

    sheetJs+xlsx-style——前端实现导出excel表格——设置单元格背景色,居中,自动换行,宽度,百分数展示等

    接下来,引入xlsx-style后,我们可以对单元格应用各种样式。以下是一些关键的样式设置: 1. **单元格背景色**:使用`xf`(样式对象)中的`fill`属性设置单元格的背景颜色。`fill`对象包含`type`(填充类型)和`fc1`...

    Java poi复制execl的sheet页,跨文件操作,数据和样式全部复制,工具类

    以上代码将把`source.xlsx`中的第一个Sheet复制到新创建的`target.xlsx`文件中,同时保留所有数据和样式。 总结起来,通过Apache POI,Java开发者可以方便地对Excel文件进行各种操作,包括复制Sheet页。在这个例子...

    易语言取excel当前单元格

    同时,易语言提供了丰富的API函数,允许进行更复杂的Excel操作,如遍历单元格、修改单元格样式、执行公式计算等,这些都可以根据实际需求进行扩展。 总的来说,易语言通过其直观的中文语法,为开发者提供了一种便捷...

    poi生成Excel及合并单元格示例

    为了使合并的单元格具有统一的样式,我们需要创建一个 `CellStyle` 对象,并将其应用到所有被合并的单元格上: ```java CellStyle style = workbook.createCellStyle(); style.setAlignment(HorizontalAlignment....

    table 中,如何使得单元格的内容不换行,单元格不被撑开,显示不下的时候在结尾处显示“...”

    如果是外部样式表,记得在`&lt;head&gt;`部分引入,并确保样式表加载正常。 总结,要让表格单元格内容不换行,单元格不被撑开,并在显示不下的时候在结尾处显示“...”,你需要通过CSS设置`white-space`、`overflow`和`...

    合并html单元格的插件

    这会在页面加载完成后自动运行插件,合并表格中所有相同内容的单元格。 总的来说,"合并html单元格的插件"提供了一种方便的方式来优化HTML表格布局,减少冗余信息,提高数据的可读性和整体视觉效果。通过理解插件的...

    Java导出数据到Excel文件中(支持多表头)

    5. 设置单元格样式和内容。 6. 写入数据到Excel文件并关闭工作簿。 通过以上步骤,我们可以构建一个灵活且高效的Java程序,将数据库中的数据导出为具有多级表头的Excel文件,满足数据分析和报告的需求。

    VB调用Excel设置居中、自动调整列宽和合并单元格

    在VB(Visual Basic)编程环境中,我们可以利用内置的自动化对象模型(Automation Object Model)来操控Excel应用程序,实现对Excel工作簿的各种操作,如设置单元格样式、调整列宽和合并单元格。以下将详细讲解如何...

    纯CSS3实现漂亮的价格表样式代码.zip

    在IT行业中,CSS3是一种强大的样式表语言,用于定义网页元素的外观、布局和结构。本资源"纯CSS3实现漂亮的价格表样式代码"提供了一种利用CSS3技术创建美观、吸引人的价格表的方法,无需JavaScript或其他编程语言的...

    java使用poi在excel单元格添加超链接,设置字体颜色(csdn)————程序.pdf

    在这个例子中,我们创建了一个工作簿,一个工作表,然后在第一行的第一个单元格中设置了带有超链接的文本。超链接的地址是图片的本地路径,这样当用户点击单元格时,系统会打开这个图片。同时,我们设置了字体为蓝色...

    VB 复制工作表

    在VB(Visual Basic)编程环境中,复制工作表是常见的操作,尤其在处理Excel应用程序时。工作表是Excel工作簿中的单个数据表格,用户可以通过编程方式实现对它们的复制、移动或修改。以下是对VB复制工作表这一主题的...

Global site tag (gtag.js) - Google Analytics