标题:c#中到处excel问题 求大侠给解
只看楼主
NBALIJIA
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2011-12-15
结帖率:50%
已结贴  问题点数:6 回复次数:4 
c#中到处excel问题 求大侠给解
c#到处excel加边框;
 例如:
     导出的excel中A4到G22要加边框,其他无需加边框   怎么能做到
 求大侠们給解。  
                          谢谢!
搜索更多相关主题的帖子: excel 
2011-12-19 16:12
NBALIJIA
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2011-12-15
得分:0 
   自己先顶一下  大侠们  帮帮忙   
                  在此谢过
2011-12-19 16:20
yhlvht
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:36
帖 子:707
专家分:4405
注 册:2011-9-30
得分:3 
Range range = wsh.get_Range(wsh.Cells[4, 1], wsh.Cells[22, 7]);    //获取A4到G22的单元格Range对象
range.Select();    //选中该Range对象中的单元格
range.Borders.LineStyle = 1;    //设置该Range对象中单元格的边框线,数字1为细实线
注:wsh的类型为_Worksheet
2011-12-19 22:48
jtain
Rank: 1
来 自:台北
等 级:新手上路
帖 子:18
专家分:3
注 册:2011-11-20
得分:3 
你可以考虑使用动态调用Excel,他的好处是
1.只要有安装excel就一定可以使用,不用分辨版本。
2.excel的功能一定有支援,而且相关的资料网路上可以找到。
3.理论上也应该是系统问题最少的。

当然也会有缺点
1.程式看起来比较复杂
2.执行速度会比较慢

private void button1_Click(object sender, EventArgs e)
    {
     object objApp;
     object objBook;
     object objBooks;
     object objSheets;
     object objSheet;
     object objRange;
     object objCells;
     object[] Parameters;
     try {
         // 获取Excel类型并建立其实例
         Type objExcelType = Type.GetTypeFromProgID("Excel.Application");
         if (objExcelType == null)
         {
             return;
         }
         objApp = Activator.CreateInstance(objExcelType);
         if (objApp == null)
         {
          return;
         }
         //获取Workbook集
         objBooks = objApp.GetType().InvokeMember("Workbooks", BindingFlags.GetProperty, null, objApp, null);
         //添加一个新的Workbook
         objBook = objBooks.GetType().InvokeMember("Add", BindingFlags.InvokeMethod, null, objBooks, null);
         //获取Sheet集
         objSheets = objBook.GetType().InvokeMember("Worksheets", BindingFlags.GetProperty, null, objBook, null);
         //获取第一个Sheet对象
         Parameters = new Object[1]
         {
          1
         };
         objSheet = objSheets.GetType().InvokeMember("Item", BindingFlags.GetProperty, null, objSheets, Parameters);
         try
         {
          //获取操作范围
          for (int i = 1; i < 100; i++)
          {
           Parameters = new Object[2] { 1, i };
           objCells = objSheet.GetType().InvokeMember("Cells", BindingFlags.GetProperty, null, objSheet, Parameters);
           //向指定单元格填写内容值
           Parameters = new Object[1] { "Hello, World!" };
           objCells.GetType().InvokeMember("Value", BindingFlags.SetProperty, null, objCells, Parameters);
          }
         }
         catch (Exception operException)
         {
          MessageBox.Show(operException.Message);
         }
         finally
         {
          //不提示保存
          Parameters = new Object[1] { false };
          objApp.GetType().InvokeMember("DisplayAlerts", BindingFlags.SetProperty, null, objApp, Parameters);
          //保存文件并退出
          Parameters = new Object[1] { @"D:\a.xls" };
          objBook.GetType().InvokeMember("SaveAs", BindingFlags.InvokeMethod, null, objBook, Parameters);
          objApp.GetType().InvokeMember("Quit", BindingFlags.InvokeMethod, null, objApp, null);
          GC.Collect();
         }
     }
     catch (Exception theException)
     {
      String errorMessage;
      errorMessage = "Error: ";
      errorMessage = String.Concat(errorMessage, theException.Message);
      errorMessage = String.Concat(errorMessage, " Line: ");
      errorMessage = String.Concat(errorMessage, theException.Source);
      MessageBox.Show(errorMessage, "Error");
     }
    }

快乐不需要理由

Visual Studio 2010 Pro 繁体中文版
XP sp3 繁体中文版
2011-12-21 11:16
jtain
Rank: 1
来 自:台北
等 级:新手上路
帖 子:18
专家分:3
注 册:2011-11-20
得分:0 
另外这里有我依样画葫芦從BCB6弄出来的C#版[检查 excel 的版本]
https://bbs.bccn.net/thread-357133-1-1.html

快乐不需要理由

Visual Studio 2010 Pro 繁体中文版
XP sp3 繁体中文版
2011-12-21 11:18



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-358139-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.109547 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved