下面是将一个集合从datagridview中导出到excel中:
DataTable datatable = initDataTable()
for (int i = 0i <ulList.Counti++)
{
DataRow datarow = datatable.NewRow()
datarow[0] = ulList[i].Time
datarow[9] = ulList[i].Remark
。。。。。。。
datatable.Rows.Add(datarow)
}
DataSet dataset = new DataSet()
dataset.Tables.Add(datatable)
ExportDataGridViewToExcel(datatable)
//ExportDataGridViewToExcel方法
private void ExportDataGridViewToExcel(DataTable dataGridTable)
{
SaveFileDialog saveFileDialog = new SaveFileDialog()
saveFileDialog.Filter = "Execl files (*.xls)|*.xls"
saveFileDialog.Title = "导出Excel文件到"
DateTime now = DateTime.Now
saveFileDialog.FileName = "日志-" + now.Year.ToString().PadLeft(2) + now.Month.ToString().PadLeft(2, '0') + now.Day.ToString().PadLeft(2, '0') + "-" + now.Hour.ToString().PadLeft(2, '0') + now.Minute.ToString().PadLeft(2, '0') + now.Second.ToString().PadLeft(2, '0')
saveFileDialog.ShowDialog()
Stream myStream
myStream = saveFileDialog.OpenFile()
StreamWriter sw = new StreamWriter(myStream, System.Text.Encoding.GetEncoding("gb2312"))
string str = ""
try
{
//写标题
for (int i = 0i <arycolumnname.Lengthi++)
{
if (i >0)
{
str += "\t"
}
str += arycolumnname[i]
}
sw.WriteLine(str)
//写内容
for (int j = 0j <dataGridTable.Rows.Countj++)
{
string tempStr = ""
for (int k = 0k <dataGridTable.Columns.Countk++)
{
if (k >0)
{
tempStr += "\t"
}
tempStr += dataGridTable.Rows[j][k].ToString()
}
sw.WriteLine(tempStr)
}
sw.Close()
myStream.Close()
MessageBox.Show("导出成功")
}
catch (Exception e)
{
MessageBox.Show(e.ToString())
}
finally
{
sw.Close()
myStream.Close()
}
}
//上面用到文件流将其保存程excel文件,还有其他的方式,可以网上收一下——一大堆。
没看懂lz想表达什么意思?lz举个例子先。。
----------------
还是没看懂。lz不是自定义了的数据库文件格式么,那全部按照自定义的结构来读写该文件就行了。
您是说的“载入资源函数”的输入参数是文件吧?而你想给他传你自定义的二进制流?那么这些"函数"不是lz自己写的么?如果不是lz自己写的,那么又怎么能传自定义的数据格式呢?函数都有自己所要求的文件格式的。。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)