我采用先定义二维数组,然后建数据放到二维数组里面,再通过这个二维数组将数据导入到Excel模板里面。
在Excel模板里面我事先将单元格的格式设置好了,比如:右对齐、数字显示为会计专用格式(1,233,354.01),可是当我把数据导入之后,这些设置好的格式全没发挥作用了。但我双击每个单元格之后,格式又起作用了。不知道是怎么回事?
望高手指点。
还有,怎么在c#里面用程序控制数字在Excel里的显示样式,比如1367853.12显示为:1,367,853.12?

解决方案 »

  1.   

    建议使用开源项目MyXls来操作,可以不用ole打开Excel直接操作,方便,而且不会造成进程无法关闭的情况
      

  2.   

    你格式怎么設置的,我設置的都有效果:如:
      range.HorizontalAlignment = Excel.XlHAlign.xlHAlignLeft;
      range.NumberFormatLocal = "0.0000_ ";
      

  3.   

       Excel对象中有方法设置格式,我处理的方式是复制模版区域格式,根据传入的数据选中相应区域,应用格式导出后格式没问题的,你可以先录制一段宏,然后将宏翻译成VS代码进行处理,可以参考:
    http://blog.csdn.net/xingjunli/archive/2009/07/13/4345069.aspx有问题可以进一步探讨
      

  4.   

    已解决,关键是把二维数组定义为Object就行,不要定义为String。这样导入时,格式不会变。也就是说原来Excel设置的是什么格式,数据导入后就按什么格式显示。