在WORD里做一个模板,然后从SQLSERVER里把数据倒入WORD里,然后也可以把数据从WORD里倒入SQLSERVER里

时间:2021-12-18 05:56:28
一个web应用程序

在WORD里做一个模板,然后从SQLSERVER里把数据倒入WORD里,然后也可以把数据从WORD里倒入SQLSERVER里

9 个解决方案

#1


用VBA就可以搞定了

#2


up!

#3


请各位大侠给予详细解答

再次谢谢了!

#4


各位帮忙啊!

分不够可以再加~

谢谢了~

#5


用vba
基本思想:
在vba中使用ado,使用方法与vb6中一样,通过ado可实现应用程序与数据库间数据传递的问题。以下提供2中方案:(仅供参考)
1.你可以在数据库中建立一个备注型字段的表,将word中的内容读出后保存至该字段即可。至于如何从word中读出内容和写入内容你可以用录制宏的办法找到代码。
2.将word文件以二进制形式保存入数据库的字段中,打开时再将其从数据库中读出。

#6


楼上的大侠

怎么才能把word以二进制形式存如数据库啊?
需要调用的时候怎么才能读出来

能给个例子吗?

万分感谢

#7


声明:本帖子只供参考,对使用本帖子而引起的任何预想不到的后果作者盖不负责!!

将文件保存入数据库:
string ConnectionString=@"Provider=Microsoft.Jet.OLEDB.4.0;" + 
@"Password="""";User ID=Admin;Data Source=" + Application.StartupPath +
@"\db.mdb";
string SQL="select * from 文件";
OleDbConnection conn=new OleDbConnection(ConnectionString);
OleDbDataAdapter da=new OleDbDataAdapter(SQL,conn);
OleDbCommandBuilder cmd=new OleDbCommandBuilder(da);
DataSet ds=new DataSet();

conn.Open();
da.Fill(ds,"文件");
DataTable dt=ds.Tables[0];
DataRow dr;
if(dt.Rows.Count>0)
dr=dt.Rows[0];
else
dr=dt.NewRow();

dr[1]=txtFile.Text;
FileStream fs=File.Open(txtFile.Text,FileMode.Open,FileAccess.Read);
byte[] by=new byte[fs.Length];
fs.Read(by,0,(int)fs.Length);
dr[2]=by;

if(dt.Rows.Count<=0)
dt.Rows.Add(dr);
da.Update(ds, "文件");

conn.Close();
fs.Close();
MessageBox.Show("保存成功!");
}
catch(System.Exception ee)
{
MessageBox.Show(ee.Message);
}

#8


声明:本帖子只供参考,对使用本帖子而引起的任何预想不到的后果作者盖不负责!!

从数据库中读出文件并保存到磁盘:
string ConnectionString=@"Provider=Microsoft.Jet.OLEDB.4.0;" + 
@"Password="""";User ID=Admin;Data Source=" + Application.StartupPath +
@"\db.mdb";
string SQL="select * from 文件";
OleDbConnection conn=new OleDbConnection(ConnectionString);
OleDbCommand cmd=conn.CreateCommand();
cmd.CommandText=SQL;
conn.Open();
OleDbDataReader dr=cmd.ExecuteReader();

if(dr.Read())
{
string strFile=string.Empty;
strFile=dr.GetString(1);
byte[] by=(byte[])dr.GetValue(2);

FileStream fs=File.Open(strFile,FileMode.Create,FileAccess.Write);
fs.Write(by,0,by.Length);
fs.Close();
MessageBox.Show("读取成功!");
}
dr.Close();
conn.Close();

#9


声明:本帖子只供参考,对使用本帖子而引起的任何预想不到的后果作者盖不负责!!

以上代码仅供参考!
如需更详细的示例,可将您的E-mail用短信的方式发给我,本人将及时发放!

#1


用VBA就可以搞定了

#2


up!

#3


请各位大侠给予详细解答

再次谢谢了!

#4


各位帮忙啊!

分不够可以再加~

谢谢了~

#5


用vba
基本思想:
在vba中使用ado,使用方法与vb6中一样,通过ado可实现应用程序与数据库间数据传递的问题。以下提供2中方案:(仅供参考)
1.你可以在数据库中建立一个备注型字段的表,将word中的内容读出后保存至该字段即可。至于如何从word中读出内容和写入内容你可以用录制宏的办法找到代码。
2.将word文件以二进制形式保存入数据库的字段中,打开时再将其从数据库中读出。

#6


楼上的大侠

怎么才能把word以二进制形式存如数据库啊?
需要调用的时候怎么才能读出来

能给个例子吗?

万分感谢

#7


声明:本帖子只供参考,对使用本帖子而引起的任何预想不到的后果作者盖不负责!!

将文件保存入数据库:
string ConnectionString=@"Provider=Microsoft.Jet.OLEDB.4.0;" + 
@"Password="""";User ID=Admin;Data Source=" + Application.StartupPath +
@"\db.mdb";
string SQL="select * from 文件";
OleDbConnection conn=new OleDbConnection(ConnectionString);
OleDbDataAdapter da=new OleDbDataAdapter(SQL,conn);
OleDbCommandBuilder cmd=new OleDbCommandBuilder(da);
DataSet ds=new DataSet();

conn.Open();
da.Fill(ds,"文件");
DataTable dt=ds.Tables[0];
DataRow dr;
if(dt.Rows.Count>0)
dr=dt.Rows[0];
else
dr=dt.NewRow();

dr[1]=txtFile.Text;
FileStream fs=File.Open(txtFile.Text,FileMode.Open,FileAccess.Read);
byte[] by=new byte[fs.Length];
fs.Read(by,0,(int)fs.Length);
dr[2]=by;

if(dt.Rows.Count<=0)
dt.Rows.Add(dr);
da.Update(ds, "文件");

conn.Close();
fs.Close();
MessageBox.Show("保存成功!");
}
catch(System.Exception ee)
{
MessageBox.Show(ee.Message);
}

#8


声明:本帖子只供参考,对使用本帖子而引起的任何预想不到的后果作者盖不负责!!

从数据库中读出文件并保存到磁盘:
string ConnectionString=@"Provider=Microsoft.Jet.OLEDB.4.0;" + 
@"Password="""";User ID=Admin;Data Source=" + Application.StartupPath +
@"\db.mdb";
string SQL="select * from 文件";
OleDbConnection conn=new OleDbConnection(ConnectionString);
OleDbCommand cmd=conn.CreateCommand();
cmd.CommandText=SQL;
conn.Open();
OleDbDataReader dr=cmd.ExecuteReader();

if(dr.Read())
{
string strFile=string.Empty;
strFile=dr.GetString(1);
byte[] by=(byte[])dr.GetValue(2);

FileStream fs=File.Open(strFile,FileMode.Create,FileAccess.Write);
fs.Write(by,0,by.Length);
fs.Close();
MessageBox.Show("读取成功!");
}
dr.Close();
conn.Close();

#9


声明:本帖子只供参考,对使用本帖子而引起的任何预想不到的后果作者盖不负责!!

以上代码仅供参考!
如需更详细的示例,可将您的E-mail用短信的方式发给我,本人将及时发放!