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
原创粉丝点击