关于c#操作excel图表的中英文版本问题

nikita007 2006-09-07 10:21:23
winform中,我用c#在excel中操作chart,我用的是win2000英文版,excel2000中文版,在excel中图表显示的结果和同事电脑上显示的结果不一样,经过比较发现我的excel中的图表是错误的,同事是win2000英文版和excel2000英文版,可能是excel的版本问题造成的,在我们boss的电脑中的结果也是正确的,他的电脑是winxp英文版 + excel2000英文版 ,所以我确定是excel版本问题造成的,因为有别的同事用的是中文的excel,所以需要对程序进行设置,请问这个应该在程序中怎么控制?
...全文
257 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
nikita007 2006-09-08
  • 打赏
  • 举报
回复
问题已解决,谢谢
nikita007 2006-09-07
  • 打赏
  • 举报
回复
上面的问题已经解决
但是结果还是不对
郁闷中
Thread.CurrentThread.CurrentUICulture = new CultureInfo(oXL.LanguageSettings.get_LanguageID(Office.MsoAppLanguageID.msoLanguageIDUI));
nikita007 2006-09-07
  • 打赏
  • 举报
回复
谢谢Murder9527(葫芦鬼)
我在MSDN上找到多语言控制,说要添加
Thread.CurrentThread.CurrentUICulture = new
CultureInfo(ThisApplication.LanguageSettings.get_LanguageID
(MsoAppLanguageID.msoLanguageIDUI));
我把ThisApplication改成我的application的名字oXL,但系统提示说

参数“1” : 无法从“Microsoft.Office.Core.MsoAppLanguageID”转换为“Office.MsoAppLanguageID”
这个应该如何更正?
葫芦鬼 2006-09-07
  • 打赏
  • 举报
回复
你可以录制宏来分别得到中文和英文下所有图表的名称。
然后你做个映射就可以了。
以下是office2003下的EXCEL中英文图表名的对应。
("蜡笔图", "Area Blocks");
("黑白面积图", "B&W Area");
("黑白柱形图", "B&W Column");
("黑白折线图—时间刻度", "B&W Line - Timescale");
("黑白饼图", "B&W Pie");
("蓝色饼图", "Blue Pie");
("彩色折线图", "Colored Lines");
("柱状-面积图", "Column - Area");
("带深度的柱形图", "Columns with Depth");
("圆锥图", "Cones");
("悬浮的条形图", "Floating Bars");
("线-柱图", "Line - Column");
("两轴线-柱图", "Line - Column on 2 Axes");
("两轴折线图", "Lines on 2 Axes");
("对数图", "Logarithmic");
("自然条形图", "Outdoor Bars");
("分裂的饼图", "Pie Explosion");
("平滑直线图", "Smooth Lines");
("彩色堆积图", "Stack of Colors");
("管状图", "Tubes");
葫芦鬼 2006-09-07
  • 打赏
  • 举报
回复
中文和英文的EXCEL的图表名称是不一样的。
例如:中文的:蜡笔图 在英文版下叫 Area Blocks
你需要建立一个索引 例如HashTable
从中文到英文做个映射
在调用的时候需要对EXCEL的语言进行判断 来使用相应正确的图表名。
示例:

Excel.Application oXL;
初始化之后可以这样判断是否为中文版
if(oXL.LanguageSettings.get_LanguageID (Microsoft.Office.Core.MsoAppLanguageID.msoLanguageIDUI) != 2052)
{
..........
}

110,536

社区成员

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

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

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