设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
c#实现自动化报表,数据导出
返回列表
发新帖
[西门子]
c#实现自动化报表,数据导出
[复制链接]
42586
|
0
|
2024-3-8 16:14:11
|
显示全部楼层
|
阅读模式
前面两篇分别描述了如何连接MYSQL,如何查询数据,排序,最大值,最小值,平均值的基本操作:
测试c#查询MYSQL数据库
c#实现自动化报表之一,查询生成基本的平均值、最大值、最小值
下面我们来实现数据查询报表导出xls文件。
1、导出查询数据
可以从网上找代码:
查询数据如下:本次查询有26972行数据!&耗时00:00:36
从导出数据来看,我们统计计算的数据无法导出。
2、导出查询及统计数据
我们需要修改代码,让数据能够全部导出来,主要是最大值和最小值,平均值没有序号,我们必须增加序号;
修改导出的数据行
num2为全局变量,num2=num+3;
查询结果如下:
导出情况
3、附上导出代码:
private void button4_Click(object sender, EventArgs e)
{
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.Filter = "Execl files (*.xls)|*.xls";
saveFileDialog.FilterIndex = 0;
saveFileDialog.RestoreDirectory = true;
saveFileDialog.CreatePrompt = true;
saveFileDialog.Title = "Export Excel File";
saveFileDialog.ShowDialog();
if (saveFileDialog.FileName == "")
return;
Stream myStream;
myStream = saveFileDialog.OpenFile();
StreamWriter sw = new StreamWriter(myStream, System.Text.Encoding.GetEncoding(-0));
string str = "";
try
{
for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
if (i > 0)
{
str += "\t";
}
str += dataGridView1.Columns
.HeaderText;
}
sw.WriteLine(str);
//for (int j = 0; j < dataGridView1.Rows.Count; j++)//这是网络上的源代码
for (int j = 0; j < num2; j++)
{
string tempStr = "";
for (int k = 0; k < dataGridView1.Columns.Count; k++)
{
if (k > 0)
{
tempStr += "\t";
}
tempStr += dataGridView1.Rows[j].Cells[k].Value.ToString();
}
sw.WriteLine(tempStr);
}
sw.Close();
myStream.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
sw.Close();
myStream.Close();
}
}
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
机电工控人生
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』