q3_2006 发表于 2014-7-31 18:03:22

ll_j 发表于 2014-7-31 17:21 static/image/common/back.gif
试了一下,没什么有效办法,有几个思路可以参考:
1.使用excel的text函数,复杂,但得到的是字符串。
2 ...

不知道这个公式怎么写到EXCEL....=TEXT(1,"00#")....大师给转转呗....

lht 发表于 2014-7-31 19:49:53

本帖最后由 lht 于 2014-7-31 19:53 编辑

ll_j 发表于 2014-7-31 12:40 http://bbs.mjtd.com/static/image/common/back.gif
看看这样:

按ll_j的办法,可以解决问题,但还得请教ll_j,如果c2中2为变量该怎么写?(即可以为c2、c3、c4、c5等)

edata 发表于 2014-7-31 20:42:56

(strcat "c" (itoa i))

edata 发表于 2014-7-31 20:49:52

q3_2006 发表于 2014-7-31 18:03 static/image/common/back.gif
不知道这个公式怎么写到EXCEL....=TEXT(1,"00#")....大师给转转呗....

excel自动改变001为1,你要更改excel单元格格式,选择自定义,输入000,之后拖动格式保持该列格式一致。
操作excel没用过,我估计gu_xl能解决,通过输出xls格式,而非csv文本。。csv并非excel文件。

ll_j 发表于 2014-7-31 21:15:02

用csv文本格式来写excel文档的确不是好办法,如果想研究这个,建议还是研究VLisp和VBA。
(defun c:tt ()
(setq ffn (getfiled "选择文件" "" "csv" 1)
      ff(open ffn "w")
)
(setq b2.1
      aa "C"
      ab 1
)
(princ 1 ff)                        ;数字可以直接写入文件
(princ "," ff)
(princ (strcat "\"=text("
               (rtos b)
               ","
               "\"\"000.00\"\")\""
         )
         ff
)
(princ "," ff)
(princ "3" ff)                        ;数字也可以当作字符写入文件
(princ "," ff)
(princ (strcat "\"=if("
               aa
               (itoa ab)
               ">0,\"\"是\"\",\"\"否\"\")\""
         )
         ff
)                                     ;写到文件中应该包括全部的引号,即声明是字符串
(close ff)
)

lht 发表于 2014-7-31 21:35:26

ll_j 发表于 2014-7-31 21:15 static/image/common/back.gif
用csv文本格式来写excel文档的确不是好办法,如果想研究这个,建议还是研究VLisp和VBA。

按ll_j的方法彻底解决了,谢谢ll_j!

edata 发表于 2014-7-31 21:57:22

应该是这个VBA属性

全部显示

NumberFormat 属性
参阅应用于示例特性
应用于 DataLabel、DataLabels、PivotField、Style 和 TickLabels 对象的 NumberFormat 属性。

返回或设置对象的格式代码。String 类型,可读写。

expression.NumberFormat

expression      必需。该表达式返回上述对象之一。

应用于 CellFormat 和 Range 对象的 NumberFormat 属性。

返回或设置对象的格式代码。如果指定区域中的所有单元格包含不同的数字格式,则该值为 Null。Variant 类型,可读写。

expression.NumberFormat

expression      必需。该表达式返回上述对象之一。

说明
对于 PivotField 对象,可以只对其中一个数据字段设置 NumberFormat 属性。

格式化代码与“单元格格式”对话框中“格式化代码”选项相同的字符串。Format 函数使用与 NumberFormat 和 NumberFormatLocal 属性不同的格式化代码。

示例
以下这些示例分别对 Sheet1 中的 A17 单元格、第一行和 C 列的数字格式进行设置。

Worksheets("Sheet1").Range("A17").NumberFormat = "General"
Worksheets("Sheet1").Rows(1).NumberFormat = "hh:mm:ss"
Worksheets("Sheet1").Columns("C"). _
    NumberFormat = "$#,##0.00_);($#,##0.00)"
               
页: 1 [2]
查看完整版本: 如何将"=if (c2>0,"是","否")"写进电子表格单元格