您好:     我使用jxl,在用java写字符串到Excel时,如果第一个字符是"-"符号,则在点击此单元格时出错。 
java:sheet.addCell(new Label(j, i + 1, "-----")); Excel 打开时报:输入的数据太长,无法打开,请取消输入 我使用sheet.addCell(new Label(j, i + 1, "'-----"));,也无法在Excel中取消公式。 谢谢各位,谢谢!

解决方案 »

  1.   

    修改一下添加的内容: 
    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-----"); 
    谢谢!
      

  2.   

    如果楼主在格式上面没有特别的要求,一个最简单的办法是
    直接写文件,将后缀名为.xls,字符间用tab健隔开
      

  3.   

    要往xls文件里面写入数据的时候需要注意的是第一要新建一个xls文件 
    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里面。
      

  4.   

    4楼给的虽然很有用,但是不是楼主需要的楼主,你说得那个现象 在前面加上 ' 一定管用,我使用过的//写入数据
    WritableCellFormat writableCellFormat=new WritableCellFormat();
    writableCellFormat.setBorder(Border.ALL, BorderLineStyle.THIN);
                
    Label labelPlatNo = new Label(0,0,"'----",writableCellFormat); 
    writableSheet.addCell(labelPlatNo);上面是代码片断
      

  5.   


    您这个方法与在Excel中添加'的时的效果是不同的,因为Jxl中直接把单引号解释为一个字符添加到单元格中,而不是对函数的转义符号,我现在就是这样做的,也没啥办法了,谢谢!
      

  6.   


    不是添加"----",而是添加"-----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-----",添加"----"是没有问题,再次感谢。