具体实现
一、 包含Excel文件 *** 作类头文件
#include "CSpreadSheet.h"
二、 新建Excel文件,并写入默认数据
// 新建Excel文件名及路径,TestSheet为内部表名
CSpreadSheet SS("c:\\Test.xls", "TestSheet")
CStringArray sampleArray, testRow
SS.BeginTransaction()
// 加入标题
sampleArray.RemoveAll()
sampleArray.Add("姓名")
sampleArray.Add("年龄")
SS.AddHeaders(sampleArray)
// 加入数据
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初始化结果
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=servernameinitial catalog=databasenameuser id=usernamepassword=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 = 0i <= ds.Tables[0].Rows.Count - 1i++)
{
for (j = 0j <= ds.Tables[0].Columns.Count - 1j++)
{
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和c说话产生ascii数据文件应用空格做作为数据分隔符。2和进入excel选择数据选项卡/
获取外部数据对象组
/
自文本按钮3和进入数据导入对话框
在第一步中选择应用数据分隔符不选固定命据长度
在第二步中指定命据分隔符为空格4和按对话框领导 *** 作就可以达到目标啦。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)