C#excel 文件上传并进行分页
来源:互联网 发布:丁丁办公软件 编辑:程序博客网 时间:2024/05/18 13:10
private int Inum = 1; //行号,规定其索引初始值为1 int pagesize = 2;//每页的数据条数 int pagecount = 0;//共有几页 string file = ""; int allCount = 0;//共有几条 DataTable dw = new DataTable(); private void view_bt_Click(object sender, EventArgs e) { OpenFileDialog fileDialog = new OpenFileDialog(); fileDialog.Multiselect = true; fileDialog.Title = "请选择文件"; fileDialog.Filter = "所有文件(*.*)|*.*";//判断文件类型 if (fileDialog.ShowDialog() == DialogResult.OK) { file = fileDialog.FileName; //MessageBox.Show("已选择文件:" + file, "选择文件提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } if (MessageBoxButtons.OK.ToString().Equals("OK")) { filePath_text.Text = file; } ReadFromExcelFileService readFromExcelFileService = new ReadFromExcelFileService(); dw = readFromExcelFileService.GetData(file);//调用GetData方发写上Excel文件所在的路径,这样就能获取到Excel表里面的数据了然后我们用个集合把读取到数据添加进去 show(1, pagesize); } private void UploadDelivery_Load(object sender, EventArgs e) { } public DataTable GetPagedTable(DataTable dt, int PageIndex, int PageSize)//PageIndex表示第几页,PageSize表示每页的记录数 { if (PageIndex == 0) return dt;//0页代表每页数据,直接返回 DataTable newdt = dt.Copy(); newdt.Clear();//copy dt的框架 int rowbegin = (PageIndex - 1) * PageSize; int rowend = PageIndex * PageSize; if (rowbegin >= dt.Rows.Count) return newdt;//源数据记录数小于等于要显示的记录,直接返回dt if (rowend > dt.Rows.Count) rowend = dt.Rows.Count; for (int i = rowbegin; i <= rowend - 1; i++) { DataRow newdr = newdt.NewRow(); DataRow dr = dt.Rows[i]; foreach (DataColumn column in dt.Columns) { newdr[column.ColumnName] = dr[column.ColumnName]; } newdt.Rows.Add(newdr); } return newdt; } private void show(int start,int end) { allCount = dw.Rows.Count; //获取数据表中记录的个数 pagecount = allCount % pagesize; //页数 = 总数/显示的行数 int pageNo = 0; if (allCount % pagesize == 0) { pageNo = allCount / pagesize; } else { pageNo = allCount / pagesize + 1; } LB_showPage.Text = "共 " + pageNo + " 页" + " 当前第 " + start + " 页"; //只能显示一页,判断是否是整除 if (pagecount == 0) { pagecount = allCount / pagesize; } else { pagecount = allCount / pagesize + 1; } DataTable dt = GetPagedTable(dw, start, end); List<ExpressBill> list = new List<ExpressBill>(); for (int i = 0; i < dt.Rows.Count; i++) { ExpressBill bill = new ExpressBill(); bill.ExpressNum = dt.Rows[i][0].ToString(); bill.SenderCity = dt.Rows[i][1].ToString(); bill.Sender = dt.Rows[i][2].ToString(); bill.SenderPhone = dt.Rows[i][3].ToString(); bill.SenderAddress = dt.Rows[i][4].ToString(); bill.RecipientCity = dt.Rows[i][5].ToString(); bill.Recipient = dt.Rows[i][6].ToString(); bill.RecipientPhone = dt.Rows[i][7].ToString(); list.Add(bill); //这里就把读取的数据添加到集合了 } dataGridView.DataSource = list; // 隐藏数据列 以及重命名 列名 for (int n = 0; n < dataGridView.ColumnCount; n++) { if (dataGridView.Columns[n].DataPropertyName.Equals("BillId")) { dataGridView.Columns[n].Visible = false; dataGridView.Columns[n].HeaderText = "面单号主键"; } else if (dataGridView.Columns[n].DataPropertyName.Equals("ExpressNum")) { dataGridView.Columns[n].HeaderText = "单号"; } else if (dataGridView.Columns[n].DataPropertyName.Equals("SenderCity")) { dataGridView.Columns[n].HeaderText = "寄件城市"; } else if (dataGridView.Columns[n].DataPropertyName.Equals("Sender")) { dataGridView.Columns[n].HeaderText = "寄件人"; } else if (dataGridView.Columns[n].DataPropertyName.Equals("SenderPhone")) { dataGridView.Columns[n].HeaderText = "寄件手机"; } else if (dataGridView.Columns[n].DataPropertyName.Equals("SenderAddress")) { dataGridView.Columns[n].HeaderText = "寄件地址"; } else if (dataGridView.Columns[n].DataPropertyName.Equals("RecipientCity")) { dataGridView.Columns[n].HeaderText = "收件城市"; } else if (dataGridView.Columns[n].DataPropertyName.Equals("Recipient")) { dataGridView.Columns[n].HeaderText = "收件人"; } else if (dataGridView.Columns[n].DataPropertyName.Equals("RecipientAddress")) { dataGridView.Columns[n].HeaderText = "收件人地址"; } else if (dataGridView.Columns[n].DataPropertyName.Equals("RecipientPhone")) { dataGridView.Columns[n].HeaderText = "收件电话"; } else if (dataGridView.Columns[n].DataPropertyName.Equals("TemplateId")) { dataGridView.Columns[n].HeaderText = "模板主键"; dataGridView.Columns[n].Visible = false; } else if (dataGridView.Columns[n].DataPropertyName.Equals("CollectPoint")) { dataGridView.Columns[n].HeaderText = "揽件点"; } else if (dataGridView.Columns[n].DataPropertyName.Equals("Collecter")) { dataGridView.Columns[n].HeaderText = "揽件人"; } else if (dataGridView.Columns[n].DataPropertyName.Equals("CollecterPhone")) { dataGridView.Columns[n].HeaderText = "揽件人手机"; } else if (dataGridView.Columns[n].DataPropertyName.Equals("CollectTime")) { dataGridView.Columns[n].HeaderText = "揽件时间"; } else if (dataGridView.Columns[n].DataPropertyName.Equals("PackageName")) { dataGridView.Columns[n].HeaderText = "包裹品名"; } else if (dataGridView.Columns[n].DataPropertyName.Equals("PackageWeight")) { dataGridView.Columns[n].HeaderText = "包裹重量"; } else if (dataGridView.Columns[n].DataPropertyName.Equals("FileName")) { dataGridView.Columns[n].HeaderText = "文件名"; } else if (dataGridView.Columns[n].DataPropertyName.Equals("UserId")) { dataGridView.Columns[n].HeaderText = "用户主键"; dataGridView.Columns[n].Visible = false; } else if (dataGridView.Columns[n].DataPropertyName.Equals("ExpressPoint")) { dataGridView.Columns[n].HeaderText = "快递网点"; } else if (dataGridView.Columns[n].DataPropertyName.Equals("ExpressCompany")) { dataGridView.Columns[n].HeaderText = "快递公司"; } else if (dataGridView.Columns[n].DataPropertyName.Equals("OperateTime")) { dataGridView.Columns[n].HeaderText = "操作时间"; } } } private void LLB_First_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { Inum = 1; show(Inum, pagesize); } private void LLB_Last_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { Inum = pagecount; show(Inum, pagesize); } private void LLB_Next_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { Inum++; if (Inum <= pagecount) //如果没有超出记录行数 { show(Inum, pagesize); } else { MessageBox.Show("现已是最后一页记录"); Inum = pagecount; //更改为 Inum = pagecount; return; } } private void LLB_Previous_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { Inum--; if (Inum > 0) //如果当前不是首记录 { show(Inum, pagesize); //显示上一页记录 } else { MessageBox.Show("现已是第一页记录"); Inum = 1; return; } }
0 0
- C#excel 文件上传并进行分页
- Java上传资源excel文件并进行解析
- 上传并解析excel文件
- [NET][C#]操作Excel,套用模板并对数据进行分页
- 使用maven+springmvc+POI对上传的Excel文件进行解析并操作
- excel相关系列(4)----文件流的方式上传,并进行解析到数据库
- 上传Excel文件并导入到数据
- 上传文件并读取excel总结
- 上传Excel文件并读取存入数据库
- node.js上传并解析Excel文件
- node.js上传并解析Excel文件
- 上传EXCEL文件并读取到数据库
- C#操作Excel,套用模板并对数据进行分页
- 套用模板输出Excel,并对数据进行分页
- C#套用模板输出Excel,并对数据进行分页
- C#操作Excel,套用模板并对数据进行分页
- 套用模板输出Excel,并对数据进行分页
- 新建Excel文件,并进行操作,最后保存成文件C#(2)
- 系统学习深度学习(十三)--Batch Normalization
- 小白开博+每日一题.2017001
- [bzoj3275]Number
- Android分包(MultiDex)后编译加速方案,项目加速编译
- Java中的Filter过滤器
- C#excel 文件上传并进行分页
- 我的第一篇文章 无病呻吟
- 命令模式,数据库事务,命令的撤销恢复
- 拆分字符串
- JAVA 工具类
- 图像处理---二义性、通路长度、Dm距离的概念
- js中数组与字符串的相互转化
- JZOJ3630. 【汕头市选2014】分叉(fork)
- 设计模式读书笔记----装饰者模式