您好: 我使用jxl,在用java写字符串到Excel时,如果第一个字符是"-"符号,则在点击此单元格时出错。
java:sheet.addCell(new Label(j, i + 1, "-----")); Excel 打开时报:输入的数据太长,无法打开,请取消输入 我使用sheet.addCell(new Label(j, i + 1, "'-----"));,也无法在Excel中取消公式。 谢谢各位,谢谢!
java:sheet.addCell(new Label(j, i + 1, "-----")); Excel 打开时报:输入的数据太长,无法打开,请取消输入 我使用sheet.addCell(new Label(j, i + 1, "'-----"));,也无法在Excel中取消公式。 谢谢各位,谢谢!
jxl.write.Label labelC = new jxl.write.Label(0, 0, "-----AAAAAA-----"+
"AAAAAAAAAAAAAwIBAgIQj7KttTqQVqUR01aUfO3uwDANBgkqhkiG9w0BAQQFADAd"+
"MRswGQYDVQQDExJSb290IFNHQyBBdXRob3JpdHkwHhcNOTkwODIwMDAxNjI4WhcN"+
"MDYwMjIzMDcwMDAwWjBFMQswCQYDVQQGEwJVUzEYMBYGA1UEChMPR1RFIENvcnBv"+
"cmF0aW9uMRwwGgYDVQQDExNHVEUgQ3liZXJUcnVzdCBSb290MIGfMA0GCSqGSIb3"+
"DQEBAQUAA4GNADCBiQKBgQC45k+625h8cXyvRLfTD0bZZOWTwUKOx7pJjTUteueL"+
"veUFMVnGsS8KDPufpz+iCWaEVh43KRuH6X4MypqfpX/1FZSj1aJGgthoTNE3FQZo"+
"r734sLPwKfWVWgkWYXcKIiXUT0Wqx73llt/51KiOQswkwB6RJ0q1bQaAYznEol44"+
"AwIDAQABo30wezANBgNVHQoEBjAEAwIHgDAgBgNVHSUEGTAXBgorBgEEAYI3CgMD"+
"BglghkgBhvhCBAEwSAYDVR0BBEEwP4AQDScp5AUql7R3WDVHky0GuKEfMB0xGzAZ"+
"BgNVBAMTElJvb3QgU0dDIEF1dGhvcml0eYIKIJ0R0Q5/e4V0gDANBgkqhkiG9w0B"+
"AQQFAAOCAQEAeYjJ4zxP4zPHGpSo1IB0ReIZkkz0aHgJSOQ3zK2O/+Cls58o3up4"+
"T/yzfQC9Ni/rirCwnrCD0Q7PQblpfHsNov8fMTM3BgeRHDcfkyG28w8kxgZoYFFq"+
"5e35QDmHslm0QSZsEfmb8mEptzMsLa4xfLQtPHgiH9r9EI6yrIsOk2u/UvRRqYOb"+
"jAht2G3Fg31IVWDSDEwbi2Y1jVQaA/8IgbXf4LVhAvyAXAO253zUlg7ZITwHHQf2"+
"fNKYPAIk+aBVXIVbPVPlUMlC1kkfP+XbiHf9mHGauiiKr5iS1yFu9VdqJ7QrF4lU"+
"iiTc+U1HESTz7pmYGC1P0Ugsj+ojAAAAA=="+
"-----AAAAAA-----");
谢谢!
直接写文件,将后缀名为.xls,字符间用tab健隔开
OutputStream os=new FileOutputStream("c:\\excel2.xls"); 再建完这个文件的时候再建立工作文件
jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(new File(os)); 如果这个文件已经存在,那么我们可以在这个文件里面加入一个sheet为了和以前的数据进行分开;
jxl.write.WritableSheet ws = wwb.createSheet("Test Sheet 1", 0);
在createSheet方法里前面的参数是sheet名,后面是要操作的sheet号 接下来就可以往这个文件里面写入数据了
写入数据的时候注意的格式
(1)添加的字体样式
jxl.write.WritableFont wf = new jxl.write.WritableFont(WritableFont.TIMES, 18, WritableFont.BOLD, true);
WritableFont()方法里参数说明:
这个方法算是一个容器,可以放进去好多属性
第一个: TIMES是字体大小,他写的是18
第二个: BOLD是判断是否为斜体,选择true时为斜体
第三个: ARIAL
第四个: UnderlineStyle.NO_UNDERLINE 下划线
第五个: jxl.format.Colour.RED 字体颜色是红色的 jxl.write.WritableCellFormat wcfF = new jxl.write.WritableCellFormat(wf); jxl.write.Label labelC = new jxl.write.Label(0, 0, "This is a Label cell",wcfF);
ws.addCell(labelC);
在Label()方法里面有三个参数
第一个是代表列数,
第二是代表行数,
第三个代表要写入的内容
第四个是可选项,是输入这个label里面的样式
然后通过写sheet的方法addCell()把内容写进sheet里面。
WritableCellFormat writableCellFormat=new WritableCellFormat();
writableCellFormat.setBorder(Border.ALL, BorderLineStyle.THIN);
Label labelPlatNo = new Label(0,0,"'----",writableCellFormat);
writableSheet.addCell(labelPlatNo);上面是代码片断
您这个方法与在Excel中添加'的时的效果是不同的,因为Jxl中直接把单引号解释为一个字符添加到单元格中,而不是对函数的转义符号,我现在就是这样做的,也没啥办法了,谢谢!
不是添加"----",而是添加"-----AAAAAA-----"+
"AAAAAAAAAAAAAwIBAgIQj7KttTqQVqUR01aUfO3uwDANBgkqhkiG9w0BAQQFADAd"+
"MRswGQYDVQQDExJSb290IFNHQyBBdXRob3JpdHkwHhcNOTkwODIwMDAxNjI4WhcN"+
"MDYwMjIzMDcwMDAwWjBFMQswCQYDVQQGEwJVUzEYMBYGA1UEChMPR1RFIENvcnBv"+
"cmF0aW9uMRwwGgYDVQQDExNHVEUgQ3liZXJUcnVzdCBSb290MIGfMA0GCSqGSIb3"+
"DQEBAQUAA4GNADCBiQKBgQC45k+625h8cXyvRLfTD0bZZOWTwUKOx7pJjTUteueL"+
"veUFMVnGsS8KDPufpz+iCWaEVh43KRuH6X4MypqfpX/1FZSj1aJGgthoTNE3FQZo"+
"r734sLPwKfWVWgkWYXcKIiXUT0Wqx73llt/51KiOQswkwB6RJ0q1bQaAYznEol44"+
"AwIDAQABo30wezANBgNVHQoEBjAEAwIHgDAgBgNVHSUEGTAXBgorBgEEAYI3CgMD"+
"BglghkgBhvhCBAEwSAYDVR0BBEEwP4AQDScp5AUql7R3WDVHky0GuKEfMB0xGzAZ"+
"BgNVBAMTElJvb3QgU0dDIEF1dGhvcml0eYIKIJ0R0Q5/e4V0gDANBgkqhkiG9w0B"+
"AQQFAAOCAQEAeYjJ4zxP4zPHGpSo1IB0ReIZkkz0aHgJSOQ3zK2O/+Cls58o3up4"+
"T/yzfQC9Ni/rirCwnrCD0Q7PQblpfHsNov8fMTM3BgeRHDcfkyG28w8kxgZoYFFq"+
"5e35QDmHslm0QSZsEfmb8mEptzMsLa4xfLQtPHgiH9r9EI6yrIsOk2u/UvRRqYOb"+
"jAht2G3Fg31IVWDSDEwbi2Y1jVQaA/8IgbXf4LVhAvyAXAO253zUlg7ZITwHHQf2"+
"fNKYPAIk+aBVXIVbPVPlUMlC1kkfP+XbiHf9mHGauiiKr5iS1yFu9VdqJ7QrF4lU"+
"iiTc+U1HESTz7pmYGC1P0Ugsj+ojAAAAA=="+
"-----AAAAAA-----",添加"----"是没有问题,再次感谢。