Word保存到数据以及读取的问题

本文介绍了一种将文件上传到服务器并将其内容保存到数据库的方法。涵盖了文件读取、保存到SQL Server数据库的过程及从数据库读取文件进行下载的功能。

保存操作

        Stream imgDataStream = this.fileLoad.PostedFile.InputStream;

        int imgDataLenth = this.fileLoad.PostedFile.ContentLength;

        byte[] imgDataList = new byte[imgDataLenth];

        imgDataStream.Read(imgDataList, 0, imgDataLenth);  

        //数据库连接语句改你的

         SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString);

         string strSQL = "Insert into [unformatdata] (Unfordata) values(@EmployeeImage)";

         SqlCommand cmd=new SqlCommand(strSQL,conn);

         cmd.Parameters.Add("@EmployeeImage",SqlDbType.Binary);

         cmd.Parameters["@EmployeeImage"].Value = imgDataList;

         try

         {

             conn.Open();

             int retval = cmd.ExecuteNonQuery();

             MessageBox.Show("添加成功!");

         }

         catch(Exception ex)

         {

             MessageBox.Show(ex.Message);

         }

         conn.Close();

 

读取操作

        DataSet myDataSet = new DataSet();
        string updateSql = "Select   *   from   unformatdata   where   ID   = 4  ";
        //创建sqlCommand对象  
        string conString = ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString;
        SqlConnection myConnection = new SqlConnection(conString);
        SqlCommand myCommand = new SqlCommand(updateSql, myConnection);
        myCommand.Connection.Open();
        try
        {
            SqlDataAdapter MyAdapter = new SqlDataAdapter();
            SqlCommandBuilder Var_SqlCB;
            MyAdapter.SelectCommand = myCommand;
            Var_SqlCB = new SqlCommandBuilder(MyAdapter);
           
            MyAdapter.Fill(myDataSet, "myTable");
        }
        catch (Exception ex)
        {
            System.Console.WriteLine(ex.Message.ToString());
        }

        DownloadStream(this, (byte[])myDataSet.Tables["myTable"].Rows[0]["Unfordata"],"new.doc");

 

下载的功能

        try
        {
            string MyContentType = "";
            switch (_FileName.Substring(_FileName.LastIndexOf("."), 4))
            {
                case ".xls":
                    MyContentType = "application/vnd.ms-excel";
                    break;
                case ".doc":
                    MyContentType = "application/msword";
                    break;
                default:
                    MyContentType = "application/zip";
                    break;
            }
            refPage.Response.Write("MyContentType");
            refPage.Response.Clear();
            refPage.Response.AddHeader("Content-Type", MyContentType);
            string FileName = System.Web.HttpUtility.UrlEncode(System.Text.Encoding.UTF8.GetBytes(_FileName));
            refPage.Response.AddHeader("Content-Disposition", "inline;filename=" + System.Convert.ToChar(34) + FileName +  System.Convert.ToChar(34));
            refPage.Response.AddHeader("Content-Length", FileData.Length.ToString());
            refPage.Response.BinaryWrite(FileData);
            refPage.Response.End();
            return true;
        }
        catch (Exception ex)
        {
            return false;
        }

 

 

针对数据库字段Unfordata,如果是SQL2000最好用image类型,如果是SQL2005则可以用varbinary(max)

### RPA 技术抓取数据保存Word 文档的实现方法 使用 RPA 技术抓取数据并将其保存Word 文档中,可以通过以下方式实现。此过程涉及数据抓取、处理以及写入 Word 的操作。 #### 数据抓取 数据抓取是 RPA 技术的核心功能之一。通常可以通过模拟浏览器操作或直接调用 API 来获取网页中的数据。例如,在引用中提到的案例中,RPA 技术被用于从知乎书店抓取书籍信息,并将这些信息保存为图片形式[^5]。此外,还可以通过爬虫技术获取数据,并将其整理成结构化格式,如列表或字典[^4]。 #### 数据处理 在抓取到数据后,需要对其进行清洗和处理。这一步骤可能包括去除多余的字符、转换数据类型以及将数据整理为适合写入 Word 的格式。例如,可以使用 Python 的 `docx` 库来创建和操作 Word 文档。以下是使用 `docx` 库创建表格并将数据写入其中的示例代码: ```python from docx import Document # 初始化 Word 文档 document = Document() # 添加表格 table = document.add_table(rows=1, cols=3) hdr_cells = table.rows[0].cells hdr_cells[0].text = 'ID' hdr_cells[1].text = 'Name' hdr_cells[2].text = 'Value' # 示例数据 data = [ {'id': 1, 'name': 'Alice', 'value': '100'}, {'id': 2, 'name': 'Bob', 'value': '200'} ] # 写入数据 for item in data: row_cells = table.add_row().cells row_cells[0].text = str(item['id']) row_cells[1].text = item['name'] row_cells[2].text = item['value'] # 保存文档 document.save('output.docx') ``` 这段代码展示了如何使用 `docx` 库创建一个包含三列(ID、Name 和 Value)的表格,并将数据写入其中[^1]。 #### 数据写入 Word 文档 最后一步是将处理后的数据写入 Word 文档。这可以通过多种方式实现,例如直接写入纯文本、插入图片或创建表格。上述代码示例已经展示了如何创建表格并将数据写入其中。如果需要插入图片,可以使用以下代码: ```python document.add_picture('path_to_image.jpg', width=Inches(1.25)) ``` 通过这种方式,可以将抓取到的数据以图片形式插入到 Word 文档中[^4]。 ### 注意事项 在实际应用中,需要注意数据抓取的合法性以及目标网站的反爬虫机制。确保遵守相关法律法规,并在必要时与目标网站管理员沟通,获取授权。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值