首页 新闻 会员 周边 捐助

C#生成Execl文件 把true 和false 生成复选框

0
悬赏园豆:60 [已解决问题] 解决于 2013-03-16 12:29

C# winfrom 生成Execl文件 把true 和false 生成复选框

云图-LEO的主页 云图-LEO | 初学一级 | 园豆:31
提问于:2013-03-15 16:06
< >
分享
最佳答案
1

在Excel中插入复选框的做法是:

WorkSheet.CheckBoxes.Add(153.6, 48.6, 42, 18.6)

收获园豆:60
陈希章 | 老鸟四级 |园豆:2538 | 2013-03-16 07:57

能具体点吗?

云图-LEO | 园豆:31 (初学一级) | 2013-03-16 09:31

@區戈: 

可以引用Microsoft.Office.Interop.Excel来操作

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Office.Interop.Excel;
using System.Runtime.InteropServices;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            var app = new Application();
            var wb = app.Workbooks.Add();
            var sh = wb.Worksheets[1];
            var chk = sh.CheckBoxes.Add(10, 10, 10,10);//这里的数字是代表左边距,上边距,宽度,高度, 如果有多个,则要进行循环,尺寸也要计算
            chk.Value = true;//选中这个复选框,如果不想选正,则设置为false
            chk.Characters.Text = "文字";//这是复选框的文字,如果不要文字,可以设置为空
            wb.SaveAs("d:\\temp\\test.xls");
            app.Quit();


            Marshal.ReleaseComObject(wb);
            Marshal.ReleaseComObject(app);
            wb = null;
            app = null;

            GC.Collect();
        }
    }
}


对于Excel的操作,要注意及时释放资源。这种做法代价较高,如果不涉及到这种特殊的控件,可以考虑其他的方式。

我这里有几个视频介绍

http://www.cnblogs.com/chenxizhang/archive/2012/02/28/2372102.html

陈希章 | 园豆:2538 (老鸟四级) | 2013-03-16 09:50

@陈希章: 还没试,不过先谢谢回帖

云图-LEO | 园豆:31 (初学一级) | 2013-03-16 12:26
其他回答(5)
0

这是个挑战

jerry-Tom | 园豆:4077 (老鸟四级) | 2013-03-15 16:30
0

用NPIO可以实现

HTL | 园豆:206 (菜鸟二级) | 2013-03-15 21:20

怎么实现的

支持(0) 反对(0) liyanzhao | 园豆:42 (初学一级) | 2018-03-23 12:04
0

winform 的话直接用excel自带的com也行啊

gxc. | 园豆:319 (菜鸟二级) | 2013-03-16 08:13
0

还是用NPOI比较好的,不会出现依赖office组件,不需要安装office

Johnnie Zhang | 园豆:202 (菜鸟二级) | 2013-03-16 11:13
0

怎么实现?

liyanzhao | 园豆:42 (初学一级) | 2018-03-23 12:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册