个性化导出的excel文件 我用一个dev grid 控件导出一个Excel 文件,但想要把里面的前三列锁定(这三列数据不让修改.)这个有什么办法???? 请教... 谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我理解你的意思好像是设置页头,就是固定页头,即每页打印时都显示。如果这样的话,我建议你看一EXCEL里VBA的用法,其实,如果你会设置就很简单了。我印像里就一条语句。 dev grid 导出后一般需要自己在处理一下那个EXCEL文件,否则会有点点问题,比如,原来是整数列,到EXCEL里面变成文字了,导致无法进行计算。 我导出的文件 有几列数据是只允许看,不允许改动,所以要求这个功能. 这个在EXcel 用宏实现没有问题,关键是怎 么在C#下调用呢,而且是应用到指定的excel文件上去??????? 先做个空excel文件,把某个列锁定了,然后在这个excel上生成内容 实现如下 : 宏文件放在 book1.xls 中, SaveFileDialog fd = new SaveFileDialog(); object oMissing = System.Reflection.Missing.Value; fd.Title = "导出XLS文件"; fd.RestoreDirectory = true; fd.Filter = "xls文件|*.xls"; fd.FilterIndex = 1; Excel.ApplicationClass oExcel = new Excel.ApplicationClass(); oExcel.Visible = true; Excel.Workbooks oBooks = oExcel.Workbooks; Excel._Workbook oBook = null; if (fd.ShowDialog() == DialogResult.OK) { this.grdExport.ExportToXls(fd.FileName); } if(fd.FileName!=string.Empty) { oBook = oBooks.Open(fd.FileName, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing); // Run the macros. RunMacro(oExcel, new Object[] { "Book1.xls!Macro2" }); //RunMacro(oExcel, new Object[]{"DoKbTestWithParameter", //"Hello from C# Client."}); //Quit Excel and clean up. oBook.Close(true, oMissing, oMissing); System.Runtime.InteropServices.Marshal.ReleaseComObject(oBook); oBook = null; System.Runtime.InteropServices.Marshal.ReleaseComObject(oBooks); oBooks = null; oExcel.Quit(); System.Runtime.InteropServices.Marshal.ReleaseComObject(oExcel); oExcel = null; } 这有个问题 , 这个book1.xls 默认只能放到 "我的文档" 怎 么改Excel 默认路径....??? private void RunMacro(object oApp, object[] oRunArgs){ oApp.GetType().InvokeMember("Run", System.Reflection.BindingFlags.Default | System.Reflection.BindingFlags.InvokeMethod, null, oApp, oRunArgs);} c# 正则表达式问题 如何设置navBarControl控件中 item的样式 ???高手救急。。急急。。。在线等候。。。 C#更改程序图标出现的奇怪问题 急用:定位问题 初次安装vs2010遇到的问题 ADO.net连oracle数据库程序的安装问题 Windows服务的工作目录问题 关于反射:如何取得一个私有字段 请问怎么把字符串里的内容做为控件的名字来管理控件 寻求用.Net 中对Web应用进行版本控制,且多人同时开发的管理方式。 新手重载问题 翻译了二维平面图像转三维球面的文章
如果这样的话,我建议你看一EXCEL里VBA的用法,其实,如果你会设置就很简单了。
我印像里就一条语句。
object oMissing = System.Reflection.Missing.Value; fd.Title = "导出XLS文件";
fd.RestoreDirectory = true;
fd.Filter = "xls文件|*.xls";
fd.FilterIndex = 1;
Excel.ApplicationClass oExcel = new Excel.ApplicationClass();
oExcel.Visible = true;
Excel.Workbooks oBooks = oExcel.Workbooks;
Excel._Workbook oBook = null;
if (fd.ShowDialog() == DialogResult.OK)
{
this.grdExport.ExportToXls(fd.FileName);
}
if(fd.FileName!=string.Empty)
{
oBook = oBooks.Open(fd.FileName, oMissing, oMissing,
oMissing, oMissing, oMissing, oMissing, oMissing, oMissing,
oMissing, oMissing, oMissing, oMissing, oMissing, oMissing); // Run the macros. RunMacro(oExcel, new Object[] { "Book1.xls!Macro2" }); //RunMacro(oExcel, new Object[]{"DoKbTestWithParameter",
//"Hello from C# Client."}); //Quit Excel and clean up. oBook.Close(true, oMissing, oMissing);
System.Runtime.InteropServices.Marshal.ReleaseComObject(oBook);
oBook = null;
System.Runtime.InteropServices.Marshal.ReleaseComObject(oBooks);
oBooks = null;
oExcel.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(oExcel);
oExcel = null;
} 这有个问题 , 这个book1.xls 默认只能放到 "我的文档" 怎 么改Excel 默认路径....???
{
oApp.GetType().InvokeMember("Run",
System.Reflection.BindingFlags.Default |
System.Reflection.BindingFlags.InvokeMethod,
null, oApp, oRunArgs);
}