//C# 实现导出 EXcel 和 滚动条上显示数值
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了//C# 实现导出 EXcel 和 滚动条上显示数值,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2821字,纯文字阅读大概需要5分钟。
内容图文
public bool DataGridviewShowToExcel(DataGridView dgv, bool isShowExcle) //实现导出 EXcel 和 滚动条功能
{
if (dgv.Rows.Count == 0)
return false;
//建立Excel对象
Excel.Application excel = new Excel.Application();
excel.Application.Workbooks.Add(true);
excel.Visible = isShowExcle;
progressBar.Maximum = dgv.RowCount;
progressBar.Step = dgv.RowCount /40;
progressBar.Value = 0;
//labelvalue.Visible = true; //先显示Label标签才能置于 进度条之上
//labelvalue.Parent = progressBar;
//labelvalue.Location = new Point(progressBar.Width/2-labelvalue.Width/2,progressBar.Height/2-labelvalue.Height/2); //计算在父容器 的 居中位置
var point = new Point(progressBar.Width / 2 - labelvalue.Width / 2, progressBar.Height / 2 - labelvalue.Height / 2);
progressBar.Visible = true;
Graphics g = progressBar.CreateGraphics(); //在滚动条上 创建 GDI+绘图对象
//生成字段名称
for (int i = 0; i < dgv.ColumnCount; i++)
{
excel.Cells[1, i + 1] = dgv.Columns[i].HeaderText;
}
//填充数据
for (int i = 0; i < dgv.RowCount - 1; i++)
{
for (int j = 0; j < dgv.ColumnCount; j++)
{
//if (dgv[j, i].ValueType == typeof(DateTime))
//{
// excel.Cells[i + 2, j + 1].NumberFormatLocal = "yyyy-MM-dd HH:mm:ss";
//}
if (dgv[j, i].ValueType == typeof(DateTime))
{
excel.Cells[i + 2, j + 1] = "'" + dgv[j, i].Value.ToString(); //EXcel 文本方式显示
}
else
{
excel.Cells[i + 2, j + 1] = dgv[j, i].Value.ToString();
}
}
if((i+1)% progressBar.Step == 0) //判断递增进度
{
progressBar.PerformStep();
labelvalue.Text = String.Format("加载中:{0:0%}", (float)progressBar.Value/ dgv.RowCount); //先转换浮点数运算,再把浮点数转百分比
if (progressBar.Maximum / progressBar.Value < 2)
{
g.DrawString(labelvalue.Text, new Font("Arial", 10), Brushes.Yellow, point); //在居中位置绘制 进度数值
}
else
{
g.DrawString(labelvalue.Text, new Font("Arial", 10), Brushes.Blue, point); //在居中位置绘制 进度数值 变色适应背景
}
}
}
labelvalue.Visible = false;
progressBar.Visible = false;
excel.Visible = true; //导出完成弹出表格 以防出错
return true;
}
内容总结
以上是互联网集市为您收集整理的//C# 实现导出 EXcel 和 滚动条上显示数值全部内容,希望文章能够帮你解决//C# 实现导出 EXcel 和 滚动条上显示数值所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。