>前面两篇分别描述了如何连接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(); } }
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |