日期:2014-05-19  浏览次数:20836 次

两个C#操作EXCEL问题
1、怎么设置一个单元格的数据类型,比如我在一个单元格中写了字符串   "11-09 ",结果显示出来时,被改成了 "11月09日 ",我希望它保持原来的文本样式

2、想控制单元格中的对齐方式(左对齐、居中、右对齐)

BTW:上哪里可以找到C#开发EXCEL的帮助文档?

------解决方案--------------------
你录制宏看看就知道了
------解决方案--------------------
1. "11-09 "前加单引号
2. 单元格有对齐属性,就如上面有人提到录制宏看看就知道了

最后多看看MSDN
------解决方案--------------------
楼主,您看看这个帖子的Excel操作类,里面可以找到您想要的!!!

http://community.csdn.net/Expert/topic/5681/5681857.xml?temp=.6236994
------解决方案--------------------
Cells[i,j]= " ' " + "11-09 "
------解决方案--------------------
录制宏看看吧!
------解决方案--------------------
第一个问题:先设置单元格格式,再填充数据
如: string szRang= "A1:B5 ";
Excel.Range rng=Ex.get_Range (szRang,Type.Missing );
rng.Select();
rng.NumberFormat= "@ ";


第二个问题,使用下面的函数:
/// <summary> 格式化单元格 </summary>
/// <param name= "Ex "> Excel.Appliaction实例 </param>
/// <param name= "szRang "> 格式的范围 </param>
/// <param name= "HAlign "> 水平对齐方式 </param>
/// <param name= "VAlign "> 垂直对齐方式 </param>
/// <param name= "szFong "> 字体 </param>
/// <param name= "FondBold "> 字体类型,缺省为false,不加粗 </param>
/// <param name= "nFontSize "> 字体大小 </param>
/// <param name= "nFontColor "> 字体颜色 </param>
/// <param name= "bWarp "> 单元格自动换行,缺省为false </param>
/// <param name= "bMerge "> 单元格合并,缺省为false </param>
public static void FormatCells(Excel.Application Ex, String szRang,Excel.Constants HAlign,Excel.Constants VAlign, String szFong,
bool FondBold,int nFontSize,int nFontColor, bool bWarp,bool bMerge)
{
//Range对象包含于Worksheet对象,表示Excel工作表中的一个或多个单元格。
Excel.Range rng=Ex.get_Range (szRang,Type.Missing );
rng.Select();

if (HAlign != 0) rng.HorizontalAlignment =HAlign;
if (VAlign != 0) rng.VerticalAlignment =VAlign;

rng.Font.Name =szFong;
rng.Font.Bold =FondBold;
if (nFontSize> 0) rng.Font.Size =nFontSize;
if (nFontColor> 0) rng.Font.ColorIndex =nFontColor;

rng.WrapText =bWarp;

if (bMerge==true) rng.Merge(Type.Missing );
}