C#创建表格

1.新建Form窗体frmTest


2.在工具箱中找到GridControl,拖入Form窗体

3.点击Run Designer,然后在Columns项中可以添加字段,然后修改Name、
Caption、FieldName值,其中Caption是表格显示的字段名,FildName是数据库字段名,可以参考如下:


Name   id


Caption id


FieldName id


Visable false


其中id字段可设置为不显示,在Column properties面板的最下面有个visable,选择false就可以了




4.如果只有表格,不需要按钮等其他控件时,可以将GridControl在父容器中停靠,这样就可以随主窗体的变化而变化了


5.如果还要放置按钮,可以用TableLayoutPanle,去除最后一列,然后放大,将GridControl放在上面一行


6.再从工具箱中找到panelControl,将需要用到的按钮放进去


7.将panelControl放在TableLayoutPanle下面一行,Alt+Enter组合键打开属性编辑框,找到Dock,将其属性选择为Fill(中间的矩形),填充整行。


8.调整好位置后,点击TableLayoutPanle,Alt+Enter组合键打开属性编辑框,找到Dock,将其属性选择为Fill(中间的矩形),这样就填充整个Form窗体了。


9.通过点击事件打开Form


  private void DeviceList_ItemClick(object sender, ItemClickEventArgs e)
        {
            DialogResult ret = DialogResult.Cancel;
            Cursor.Current = Cursors.WaitCursor;
            using (frmTest frm = new frmTest())
            {
                ret = frm.ShowDialog(this);
            }
            Cursor.Current = Cursors.Default;
        }




10.发现打开时表格并没有居中,打开frmTest.Designer.cs文件,在注释


// 
            // frmTest
            // 


下面加上下面这段代码,即可居中


this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;


11.数据绑定,可在frmTest的构造方法中获取数据,将数据赋值给DataSource


数据可以从数据库获取,这里就模仿从数据库获取数据然后展示到表格:


public partial class frmTest : DevExpress.XtraEditors.XtraForm
    {
        private List<Person> list = null;
        public frmTest()
        {
            InitializeComponent();
            list = getPersons();
            gridControl1.DataSource = list;
        }


        private List<Person> getPersons() {
            list = new List<Person>();
            Person p1 = new Person();
            p1.id = 1;
            p1.name = "张三";
            p1.age = 23;
            p1.hobby = "吃饭";


            Person p2 = new Person();
            p2.id = 2;
            p2.name = "李四";
            p2.age = 24;
            p2.hobby = "睡觉";


            Person p3 = new Person();
            p3.id = 3;
            p3.name = "王五";
            p3.age = 25;
            p3.hobby = "打豆豆";


            list.Add(p1);
            list.Add(p2);
            list.Add(p3);
            return list;
        }
}


12.再次点击打开效果如下:








13.列和列标题没有居中,打开RunDesiner --> Columns-->AppearanceCell


找到TextOptions-->HAlignment-->选择Center即可


列标题居中:AppearanceHeader -->TextOptions-->HAlignment-->选择Center
最终效果如下:




注意:p1.id 中的id(其他字段一样)必须和FieldName中的字段名一致,小写都小写,大写都大写,否则绑定不了数据

更多博客内容详见我的博客 Wang's Blog

### 如何使用 C# 创建 Excel 表格 以下是基于 NPOI 库实现的 C# 示例代码,用于创建带有多个工作表的 Excel 文件: ```csharp using System; using System.IO; using NPOI.XSSF.UserModel; // 使用XSSFWorkbook类 using NPOI.SS.UserModel; class Program { static void Main(string[] args) { // 创建一个新的Excel工作簿对象 IWorkbook workbook = new XSSFWorkbook(); // 创建多个工作表 ISheet sheet1 = workbook.CreateSheet("数据信息1"); ISheet sheet2 = workbook.CreateSheet("数据信息2"); // 在第一个工作表中创建行和单元格 IRow row1 = sheet1.CreateRow(0); // 创建第1行 (索引从0开始) row1.CreateCell(0).SetCellValue("姓名"); // 设置A1单元格的内容为"姓名" row1.CreateCell(1).SetCellValue("年龄"); // 设置B1单元格的内容为"年龄" IRow row2 = sheet1.CreateRow(1); row2.CreateCell(0).SetCellValue("张三"); row2.CreateCell(1).SetCellValue(28); // 同样可以在第二个工作表中添加内容 IRow row3 = sheet2.CreateRow(0); row3.CreateCell(0).SetCellValue("城市"); row3.CreateCell(1).SetCellValue("人口数"); IRow row4 = sheet2.CreateRow(1); row4.CreateCell(0).SetCellValue("北京"); row4.CreateCell(1).SetCellValue(21540000); // 将工作簿写入到文件流中 using (FileStream fileStream = new FileStream("示例表格.xlsx", FileMode.Create, FileAccess.Write)) { workbook.Write(fileStream); } Console.WriteLine("Excel文件已成功创建!"); } } ``` 上述代码展示了如何通过 `NPOI` 库来创建一个包含两个工作表的 Excel 文件,并向其中填充一些基础的数据。 #### 关键点解析 - **创建工作簿**: 使用 `IWorkbook` 接口实例化一个具体的实现类(如 `XSSFWorkbook`),它代表整个 Excel 工作簿[^1]。 - **创建工作表**: 调用 `CreateSheet()` 方法可以创建新的工作表并指定名称。 - **操作行列单元格**: 利用 `IRow` 和 `ICell` 对象分别表示行和单元格,可以通过它们设置具体的内容。 - **保存文件**: 最终调用 `Write()` 函数把内存中的数据导出至磁盘上的实际文件。 #### 注意事项 为了确保程序能够正常运行,在项目初始化阶段需引入必要的 NuGet 包【NPOI】以及其依赖项。如果目标环境支持 .NET Core 或更高版本,则推荐采用最新稳定版库以获得更优性能表现与兼容性保障。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坏菠萝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值