如何用c#设置 Excel中的cells的格式设定为“文件列”??

envenlope 2007-01-30 02:02:23
((Excel.Range)xlSheet.Cells[m,n]) 用什么属性?
用((Excel.Range)xlSheet.Cells[m,n]).NumberFormatLocal = "@";位数对了但格式还是不对,显示的还是3.03E+13这样的显示。
...全文
513 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
smile9961 2007-01-31
  • 打赏
  • 举报
回复
XML結合XSL速度很快的,具體資料你可以搜一下。
envenlope 2007-01-31
  • 打赏
  • 举报
回复
我在负值的串之前加了tab键的字符就好用了。

还有没用属性设置的方法
NoirCheng 2007-01-31
  • 打赏
  • 举报
回复
不会的把,我导出表的时候就是这么写的啊!
表中也有数字 没出现你说的问题呀?
我再研究以下吧
envenlope 2007-01-31
  • 打赏
  • 举报
回复
我在要负值的cells中加了一个“a”, 就好了。
但是a是多余的

有什么办法
envenlope 2007-01-31
  • 打赏
  • 举报
回复
NoirCheng()
你的第一个方法不行,还是有科学计数fa


第二个不是设置一个区域吗 应该和第一个的效果一样吧
NoirCheng 2007-01-30
  • 打赏
  • 举报
回复
Excel.Range ran = worksheet.get_Range(worksheet.Cells[col1 , 1row1] , worksheet.Cells[col2 ,row2]);
ran.NumberFormatLocal = "@";
NoirCheng 2007-01-30
  • 打赏
  • 举报
回复
worksheet.Rows.NumberFormatLocal = "@"; //设置所有单元格为文本格式
envenlope 2007-01-30
  • 打赏
  • 举报
回复
感谢 livode(啊水)
envenlope 2007-01-30
  • 打赏
  • 举报
回复
改成FormulaR1C1也不好用还是一样的效果

“range是一个区域,你现在把一个单元格设为一个区域,这样效率比较低。

那你说我是不是把一行一起设置不较好?

那单元格有没有单独设置的属性?
livode 2007-01-30
  • 打赏
  • 举报
回复
range是一个区域,你现在把一个单元格设为一个区域,这样效率比较低。
livode 2007-01-30
  • 打赏
  • 举报
回复
把((Excel.Range)xlSheet.Cells[m,n]).Value2
换成((Excel.Range)xlSheet.Cells[m,n]).FormulaR1C1看看
envenlope 2007-01-30
  • 打赏
  • 举报
回复
呵呵
((Excel.Range)xlSheet.Cells[m,n]).Value2 = ds.Tables[0].Rows[0][m].ToString();

m是一个循环变量
livode 2007-01-30
  • 打赏
  • 举报
回复
((Excel.Range)xlSheet.Cells[m,n]).Value2 = 付值;
晕以下,看得就是你这个付值怎么写的
envenlope 2007-01-30
  • 打赏
  • 举报
回复
get_range 不回用我看属性和Excel.Range的一样
envenlope 2007-01-30
  • 打赏
  • 举报
回复
for(判断)
{
((Excel.Range)xlSheet.Cells[m,n]).NumberFormatLocal = "@";
((Excel.Range)xlSheet.Cells[m,n]).Value2 = 付值;
}
livode 2007-01-30
  • 打赏
  • 举报
回复
to envenlope
把代码贴全点。
envenlope 2007-01-30
  • 打赏
  • 举报
回复
livode(啊水)

((Excel.Range)xlSheet.Cells[m,n]).NumberFormatLocal = "@";
放到给cell付值之前


我就是这么做的。

“可以直接用get_range设置一个区域的格式 ”这个方法我试试
envenlope 2007-01-30
  • 打赏
  • 举报
回复
smile9961(good life)

你有什么好方法?

我是ToString()呀
livode 2007-01-30
  • 打赏
  • 举报
回复
可以直接用get_range设置一个区域的格式,把
((Excel.Range)xlSheet.Cells[m,n]).NumberFormatLocal = "@";
放到给cell付值之前
smile9961 2007-01-30
  • 打赏
  • 举报
回复
或者可以ToString()后再赋值,但无论怎样,这种一格一格地写很慢。
加载更多回复(1)

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧