c# 将数据库(包括图片)备份到EXCEL中
来源:互联网 发布:淘宝css框架 编辑:程序博客网 时间:2024/05/16 07:53
目的:将打开的数据表(DATATABLE) 中的内容保存到EXCEL中,必要时再从EXCEL中将数据读回到数据表中。
其实很简单,利用Base64String来实现,只是要注意保存的图片不能太大(好象只能很小,200*200象素的都不行,有些图片很小,不到25K,但一转化就变成近50K,不知道为什么?有明白的给留下言),因为EXCEL中每个单元格只能存放32K的字符,超出就会自动截短,也就没法再读出来了。所幸我的系统只是存放照片,尺寸很小,不然就麻烦了
保存到EXCEL:
先要把列名导到EXCEL中:
for( int j = 1;j< dt.Columns.Count;j++)
myExcel.Cells[1,j] = dt.Columns[j].ColumnName;
//myExcel为建立的Excel文件,关于这方面的操作,网上资料很多,我就不多说了
//为了简单,假设我们只是把照片这一列保存到EXCEL中,文字类似。
for(int i=0;i<dt.Rows.Count;i++)
if(dr[i]["照片"] ==DBNull.Value)
myExcel.Cells[i+2,1] = ""; //如果没照片,则为空。i+2的目的是因为在EXCEL中第一行保存列名了,第二行才是数据,而DATATABLE中行数是从0开始的,正好差2
else
{
byte[] byt = (byte[])dr[i]["照片"];
string strpic = Convert.ToBase64String(byt);
myExcel.Cells[i+2,1] = strpic;
}
导入时:
OpenFileDialog file = new OpenFileDialog();
file.Filter = "Excel文件(*.xls)|*.xls";
if(file.ShowDialog()!= DialogResult.OK) return;
OleDbConnection excelCon = new OleDbConnection("provider = MicroSoft.Jet.OLEDb.4.0; data source = "+file.FileName+";Extended Properties=Excel 8.0;");
excelCon.Open();
OleDbDataAdapter excelAd = new OleDbDataAdapter("select * from [A:A]",excelCon);//只读A列
//读sheet1所有内容则要改为[sheet1$]
DataTable dttemp = new DataTable();
excelAd.Fill(dttemp);
注意此时保存进来的照片列只是string类型,在保存到数据库时要转化为byte[],方法是:
for(int i = 0;i<dttemp.Rows.Count;i++)
if(dttemp.Rows[i]["照片"].ToString() != "")
byte[] byt = Convert.FromBase64String(dttemp.Rows[i]["照片"].ToString());
剩下的就是插入数据库了,都会吧,我就不说了.
- c# 将数据库(包括图片)备份到EXCEL中
- c# 将数据库(包括图片)备份到EXCEL中(原创)
- c# Aspose 图片处理(将Excel单元格中的图片拷贝到另一个Excel文件中)
- C#将数据库里中的数据导到excel中
- c# 将图片的二进制数据插入到数据库中
- android 将网络获取的图片保存到本地的Sqlite数据库中(包括json获取,解析,获取网络图片,创建本地数据库)
- 效率最高的Excel数据导入---(c#调用SSIS Package将数据库数据导入到Excel文件中)
- PHP将数据库备份到文件中
- 将图片写到excel中
- 将Excel数据导入到数据库中
- 将excel文件导入到数据库中
- asp将数据库导出到excel中
- 将数据库表导出到excel中
- 将excel数据导入到数据库中
- C# 将图片导出Excel(包括 创建Excel 、文件压缩、递归删除文件及文件夹)
- C#插入图片到Excel中
- c#读取数据库中图片路径,将图片保存到imagelist,在listview显示
- C#将图片关联到资源中
- ASP.NET 的自定义控件>显示继承控件图形的问题
- ASP.NET 网页中不经过回发而实现客户端回调
- Bin 和 App_Code 文件夹
- ASP.NET 2.0 HttpHandler实现生成图片验证码(示例代码下载)
- 在ASP.NET中调用存储过程方法
- c# 将数据库(包括图片)备份到EXCEL中
- 用VB实现程序的隐形
- 雅虎网站项目工作流程
- [转载]C语言防止缓冲区溢出方法
- 读书摘要—C专家编程
- VS2003常用快捷键一览
- 永动机:空想与诈骗——收集一些趣味的永动机设计
- 使窗口总在最前
- datagrid分页情况下删除记录