乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 怎样将MySQL数据导出到Excel表中

怎样将MySQL数据导出到Excel表中

作者:乔山办公网日期:

返回目录:excel表格制作


C#把查询出来的数据导出到Excel代码的代码如下:
1、创建form
public Form1()
{
InitializeComponent();
}

2、点击button开始查询db并导入excel数据
private void button1_Click(object sender, EventArgs e)
{
SqlConnection cnn ; //sql连接对象
string connectionString = null; 数据库连接串
string sql = null; 执行sql定义
string data = null; 初始化e799bee5baa6e78988e69d83337结果
int i = 0;
int j = 0;
//以下是声明并创建excel文件
Excel.Application xlApp ;
Excel.Workbook xlWorkBook ;
Excel.Worksheet xlWorkSheet ;
object misValue = System.Reflection.Missing.Value;

xlApp = new Excel.Application();
xlWorkBook = xlApp.Workbooks.Add(misValue);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
//开始连接数据库
connectionString = "data source=servername;initial catalog=databasename;user id=username;password=password;";
cnn = new SqlConnection(connectionString);
cnn.Open(); //打开数据库
sql = "SELECT * FROM Product"; //定义查询sql语句
SqlDataAdapter dscmd = new SqlDataAdapter(sql, cnn); //执行查询
DataSet ds = new DataSet();
dscmd.Fill(ds);

for (i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
{
for (j = 0; j <= ds.Tables[0].Columns.Count - 1; j++)
{
data = ds.Tables[0].Rows[i].ItemArray[j].ToString();
xlWorkSheet.Cells[i + 1, j + 1] = data;
}
}
//数据导入到excel文件
xlWorkBook.SaveAs("csharp.net-informations.xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
xlWorkBook.Close(true, misValue, misValue);
xlApp.Quit();
releaseObject(xlWorkSheet);
releaseObject(xlWorkBook);
releaseObject(xlApp);
MessageBox.Show("Excel file created , you can find the file c:\\csharp.net-informations.xls");
}

1:创建一个测试表,3个字段,其中2个中文字段,用来做演示使用

mysql> create table tt(a int(11) not null,b varchar(30),c varchar(30));
Query OK, 0 rows affected (0.00 sec)
mysql> insert into tt values(1,'北京','北京大学'),(2,'上海','上海大学'),(3,'深圳','深圳大学');
Query OK, 3 rows affected
Records: 3 Duplicates: 0 Warnings: 0
2:导出到EXCEL文件,用OUTFILE方法,下面2种方法的效果是一样的
mysql> select b,c from tt into outfile 'c:\xls_tt.xls';
Query OK, 3 rows affected (0.00 sec)
mysql> select b,c into outfile 'c:\xlstt.xls' from tt;
Query OK, 3 rows affected (0.00 sec)
3:到C盘下找到导出的XLS文件,发现都是乱码,如
鍖椾含 鍖椾含澶у
涓婃捣 涓婃捣澶у
娣卞湷 娣卞湷澶у
这样完全没办法使用。“这个时候文件是utf-8编码e68a84e8a2ade799bee5baa6364的,用excel打开,乱码。
把test.xls以文本方式打开,然后另存为,在编码选择ANSI编码,保存”。这样操作后,不乱码了,但是需要手工去处理。再看其他办法
4:通过网络朋友的帮忙,找到下面转换的方法
mysql> select convert(b using gb2312),convert(c using gb2312) into outfile 'c:\xlstt12.xls' from tt;
Query OK, 3 rows affected (0.00 sec)
打开导出的文件,一切都正常了。
EXCEL的默认编码方式是GB2312的,在查询出来的字段转换成DB2312后,双方达成一致,所以不再乱码。
楼主不知道你搞出来没,我昨天问MCGS的技术支持了,他说是Excel的版本问题,用2003和2007版本的就可以,我去下载了个Office2007然后就成功导入到Excel了。

,下面是个用POI导出的例子
//得表格
//创建Excel工作薄
HSSFWorkbook workbook = new HSSFWorkbook();
//创建Excel表单
HSSFSheet sheet = workbook.createSheet(“表单名”);

// 设置单元格格式为文本
HSSFCellStyle cellStyle = workbook.createCellStyle();
cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("@"));

//创建第一e799bee5baa6e997aee7ad94e4b893e5b19e338
HSSFRow row0 = sheet.createRow(0);

HSSFCell cell0 = row0.createCell(0);//第一列
HSSFCell cell1 = row0.createCell(1);//第二列
HSSFCell cell2 = row0.createCell(2);//第三列

cell0.setCellValue("列1名");
cell1.setCellValue("列2名");
cell2.setCellValue("列3名");

//在表格中填写数据 list为查询到的数据结果集
for (int i =0;i<lists.size();i++) {
HSSFRow row = sheet.createRow(i*list.size()+(j+1));
HSSFCell cell11 = row.createCell(0);//第一列
HSSFCell cell12 = row.createCell(1);//第二列
HSSFCell cell13 = row.createCell(2);//第三列

cell11.setCellValue(list.get(i).getA());
cell12.setCellValue(list.get(i).getB());
cell13.setCellValue(list.get(i).getC()););
}
//存入excle文件
FileOutputStream fos = new FileOutputStream(fileName);
workbook.write(fos);
fos.close();

相关阅读

  • 怎样将MySQL数据导出到Excel表中

  • 乔山办公网excel表格制作
  • C#把查询出来的数据导出到Excel代码的代码如下:1、创建formpublic Form1(){ InitializeComponent();}2、点击button开始查询db并导入excel数据private void button1_Click(object sender, Event
关键词不能为空
极力推荐
  • 怎样删除excel里边的虚线分页符

  • 点中分页符交叉点的右下那一格,到菜单栏的“插入”项下,会出现“删除分页符”,点击即可。不关闭分页符的操百作步骤:所需材料:Excel、电脑。一、打开在分页符度的表格,然后

ppt怎么做_excel表格制作_office365_word文档_365办公网