tnblog
首页
视频
资源
登录

DevExpress spreadsheetControl导入

13505人阅读 2020/4/16 13:18 总访问:55722 评论:0 收藏:0 手机
分类: DevExpress

1,在工具箱拖一个spreadsheetControl,效果图:

2,窗体加载时添加列名:

  1.         private void Form1_Load(object sender, EventArgs e)
  2.         {
  3.             //using DevExpress.Spreadsheet;
  4.             sheet = spreadsheetControl1.ActiveWorksheet.Workbook.Worksheets[0];
  5.             sheet.Cells["A1"].Value = "编号";
  6.             sheet.Cells["B1"].Value = "姓名";
  7.             sheet.Cells["C1"].Value = "性别";
  8.             sheet.Cells["D1"].Value = "年龄";
  9.             sheet.Cells["E1"].Value = "地址";
  10.             sheet.Cells["F1"].Value = "合并单元格";
  11.             //单元格填充颜色
  12.             sheet.Cells["A1"].FillColor = Color.Red;
  13.             //获取区域、设置样式
  14.             Range range = sheet.Range["A1:E1"];
  15.             range.RowHeight = 110;
  16.             range.Font.Bold = true;
  17.             range.Font.Size = 16;
  18.             range.Font.Color = System.Drawing.Color.Black;
  19.             range.Alignment.Horizontal = SpreadsheetHorizontalAlignment.Center;
  20.             //设置边框
  21.             Borders border = range.Borders;
  22.             range.Borders.SetOutsideBorders(DevExpress.Utils.DXColor.Black, BorderLineStyle.Thin);
  23.             range.Borders.SetAllBorders(DevExpress.Utils.DXColor.Black, BorderLineStyle.Thin);
  24.             //单元格合并
  25.             Range range2 = sheet.Range["F1:H2"];
  26.             range2.Merge();
  27.         }

效果图:

3,录入测试数据,保存,在保存数据之前还是需要做一些校验的,比如列名是否合法,输入的字符格式是否正确。

  1.  private void simpleButton1_Click(object sender, EventArgs e)
  2.         {
  3.             try
  4.             {
  5.                 List<Model.UserInfo> UserList = new List<Model.UserInfo>();
  6.                 Model.UserInfo Info = null;
  7.                 for (int i = 1; i < sheet.Cells.CurrentRegion.RowCount; i++)
  8.                 {
  9.                     Info = new Model.UserInfo();
  10.                     Info.Id = sheet.Cells[i, 0].Value.ToString() == "" ? null : (int?)Convert.ToInt32(sheet.Cells[i, 0].Value.ToString());
  11.                     Info.Name = sheet.Cells[i, 1].Value.ToString();
  12.                     Info.Sex = sheet.Cells[i, 2].Value.ToString();
  13.                     Info.Age = sheet.Cells[i, 3].Value.ToString() == "" ? null : (int?)Convert.ToInt32(sheet.Cells[i, 3].Value.ToString());
  14.                     Info.Address = sheet.Cells[i, 4].Value.ToString();
  15.                     UserList.Add(Info);
  16.                 }
  17.                 //保存至数据库
  18.                 DevExpress.XtraEditors.XtraMessageBox.Show(this"成功导入:" + UserList.Count.ToString() + "条!""消息");
  19.             }
  20.             catch (Exception ex)
  21.             {
  22.                 DevExpress.XtraEditors.XtraMessageBox.Show(this, ex.Message, "消息");
  23.             }
  24.         }

4,加载数据到工作簿有两种方式,方式一是获取Sheet然后赋值(如上),方式二是加载指定路径的Excel,一般用于比较复杂的表格的导入导出。

  1.    //DevExpress.XtraSpreadsheet.SpreadsheetControl spreadsheetControl1 = new DevExpress.XtraSpreadsheet.SpreadsheetControl();
  2.    //spreadsheetControl1.LoadDocument(ExcelUrl, DocumentFormat.Xlsx);





评价
没有个性,不需要签名
排名
1
文章
877
粉丝
112
评论
163
VS2015源文件编码问题
我和代码的故事 : 65001 utf-8
VS2015源文件编码问题
尘叶心繁 : 打开powershellchcp 65001 #设置为utf-8
VS2015源文件编码问题
剑轩 : easy ui ?
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术