ado.net excel 模版

private static void Excute()
        {
            while (true)
            {
                string templatePath = System.Environment.CurrentDirectory + "\\template.xls";
                string newPath = System.Environment.CurrentDirectory + "\\temp.xls";
                if (!File.Exists(templatePath))
                    return;

if (!File.Exists(newPath))
                    File.Copy(templatePath, newPath,true);

FileInfo fileInfo = new FileInfo(newPath);
                string s = fileInfo.Attributes.ToString();
                if (fileInfo.Attributes.ToString().ToLower().IndexOf("readonly") != -1)
                {
                    fileInfo.Attributes = FileAttributes.Normal;
                }

string connStr = "Provider=Microsoft.ACE.OLEDB.12.0;;Persist Security Info=False;" +
                    "Extended Properties=\"Excel 12.0;HDR=YES;IMEX=0\";" +
                    // 指定扩展属性为 Microsoft Excel 8.0 (97) 9.0 (2000) 10.0 (2002),并且第一行作为数据返回,且以文本方式读取       
                    "data source=" + newPath;

OleDbConnection conn = new OleDbConnection(connStr);
                OleDbCommand cmd = new OleDbCommand("", conn);

try
                {
                    conn.Open();

string sql = "insert into [Sheet2$] (姓名,性别,联系电话) values (41,51,61)";
                    cmd.CommandText = sql;
                    cmd.ExecuteNonQuery();
                    conn.Close();

//FileStream reader = File.OpenRead(newPath);
                    //int length = (int)reader.Length;
                    //byte[] buffer = new byte[length];
                    //int byteToRead;
                    //while (length > 0)
                    //{
                    //    //客户端还开着
                    //    byteToRead = reader.Read(buffer, 0, length);
                    //    length -= byteToRead;
                    //    //客户端断开时
                    //    //length = -1;
                    //}

//以下为一个事务
                    File.Copy(newPath, "2011.xls", true);
                    if (File.Exists(newPath))
                        File.Delete(newPath);
                }
                catch (Exception e)
                {
                    System.Diagnostics.Debug.WriteLine(e.Message);
                }
                finally
                {
                    conn.Dispose();
                }

Thread.Sleep(1000);
            }

private static void Excute()
        {
            while (true)
            {
                string templatePath = System.Environment.CurrentDirectory + "\\template.xls";
                string newPath = System.Environment.CurrentDirectory + "\\temp.xls";
                if (!File.Exists(templatePath))
                    return;

if (!File.Exists(newPath))
                    File.Copy(templatePath, newPath,true);

FileInfo fileInfo = new FileInfo(newPath);
                string s = fileInfo.Attributes.ToString();
                if (fileInfo.Attributes.ToString().ToLower().IndexOf("readonly") != -1)
                {
                    fileInfo.Attributes = FileAttributes.Normal;
                }

string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;" +
                    "Extended Properties=\"Excel 8.0;HDR=YES;IMEX=2\";" +
                    // 指定扩展属性为 Microsoft Excel 8.0 (97) 9.0 (2000) 10.0 (2002),并且第一行作为数据返回,且以文本方式读取       
                    "data source=" + newPath;

OleDbConnection conn = new OleDbConnection(connStr);
                OleDbCommand cmd = new OleDbCommand("", conn);

try
                {
                    conn.Open();

string sql = "insert into [Sheet2$] (姓名,性别,联系电话) values (41,51,61)";
                    cmd.CommandText = sql;
                    cmd.ExecuteNonQuery();
                    conn.Close();

//FileStream reader = File.OpenRead(newPath);
                    //int length = (int)reader.Length;
                    //byte[] buffer = new byte[length];
                    //int byteToRead;
                    //while (length > 0)
                    //{
                    //    //客户端还开着
                    //    byteToRead = reader.Read(buffer, 0, length);
                    //    length -= byteToRead;
                    //    //客户端断开时
                    //    //length = -1;
                    //}

//以下为一个事务
                    File.Copy(newPath, "2011.xls", true);
                    if (File.Exists(newPath))
                        File.Delete(newPath);

}
                catch (Exception e)
                {
                   
                }
                finally
                {
                    conn.Dispose();
                }

Thread.Sleep(1000);
            }
        }

ado.net excel 模版的更多相关文章

  1. C#巧用Excel模版变成把Table打印出来

    将一个做好的Excel模版,通过程序填上数据然后打印出来这个需求有两种方法一种是通过代码打开Excel模版然后填入数据然后再打印. 第二种方法就是我将要介绍的 1.将Excel设置好格式另存为HTML ...

  2. JAVA实现Excel导出数据(以写好的Excel模版导出)

    工作中经常会有将后台数据以Excel导出的功能. 简单的方法有将response的contentType设置为application/vnd.ms-excel: 或在JSP页面直接设置成: <% ...

  3. POI3.10 根据Excel模版导出数据测试

    1:所需jar包 2:Mysql数据库表内容如下: 3:代码结构如下: (1)User.java public class User { private int id; private String ...

  4. ADO读取EXCEL

    窗体上拖放ADOQuery1,DataSetProvider1,DataSource1,ClientDataSet1,OpenDialog1, ExcelApplication1,ExcelWorkb ...

  5. ADO对Excel对象进行连接时的 两种方法区别

    在通过ADO对Excel对象进行连接时(此时Excel则认为是一个数据源),需要配置对Excel数据源对应的连接串,这个连接串中包括了Provider信息(其实类似对数据库进行连接操作时,都需要指定连 ...

  6. Kettle 事务、转换内顺序、excel模版、使用踩坑

    kettle中转换和作业的执行顺序:     1.一个作业内的转换,是顺序执行的.     2.一个转换内的步骤是并行执行的.     3.作业内不支持事务,转换内支持事务. 根据业务需要,通常需要在 ...

  7. [poi使用]使用excel模版导出excel

    ​ Apache POI是基于Office Open XML标准(OOXML)和Microsoft的OLE 2复合文档格式(OLE2)处理各种文件格式的开源项目.简而言之,您可以使用Java读写MS ...

  8. 同时使用ADO与Excel类库冲突的问题

    客户需要一个Demo程序实现Access数据库表导出到Excel表格,并将表中存储的照片(OLE对象)以其中一个字段(编号)命名存储到本地.程序中引入了ADO操作Access数据库("C:\ ...

  9. 使用NPOI插件读取excel模版修改数据后保存到新目录新文件中

    添加引用: using System.IO; using NPOI.XSSF.UserModel; using NPOI.SS.UserModel; using NPOI.HSSF.UserModel ...

随机推荐

  1. 使用jedis操作redis

    一 连通性 1. 简单代码测试连通性 Jedis jedis = new Jedis(".......", 6379); String keys = "name" ...

  2. JLINK通过JFLASH烧写bin文件报错处理方法

    错误原因:烧写开始地址出错,打开BIN文件后弹出的设置开始地址不正确不能为0 解决措施:用J-FLASH LITE或者将开始地址设置成正确的地址(KEILMDK中IROM1的开始地址

  3. angular(3)服务 --注入---自定义模块--单页面应用

    ng内部,一旦发生值改变操作,如$scope.m=x,就会自动轮询$digest队列,触发指定的$watch,调用其回调函数,然后修改dom树. 干货:https://github.com/xufei ...

  4. Kafka深度解析,众人推荐,精彩好文!

    作者: Jason Guo 背景介绍 Kafka简介 Kafka是一种分布式的,基于发布/订阅的消息系统.主要设计目标如下: 以时间复杂度为O(1)的方式提供消息持久化能力,并保证即使对TB级以上数据 ...

  5. elastalert SpikeRule异常告警问题

    公司里面用了ELK,所以也就顺其自然的玩起了elastalert, 发现SpikeRule比较符合自己的需求. 但配置后,死活不停的虚假告警,看实际曲线明明没有相差太多,1.4的倍率却总是被打破. 憋 ...

  6. CentOS7:搭建SVN + Apache 服务器

    1. 安装httpd 安装httpd服务: $ sudo yum install httpd 检查httpd是否安装成功: $ httpd -version Server version: Apach ...

  7. 回溯 DFS 深度优先搜索[待更新]

      首先申明,本文根据微博博友 @JC向北 微博日志 整理得到,本文在这转载已经受作者授权!   1.概念   回溯算法 就是 如果这个节点不满足条件 (比如说已经被访问过了),就回到上一个节点尝试别 ...

  8. JAVA编程规范(下)

    JAVA编程规范(下) 2016-03-27 6. 代码的格式化 6.1 对代码进行格式化时,要达到的目的 1.     通过代码分割成功能块和便于理解的代码段,使代码更容易阅读和理解: 2.     ...

  9. 小结一下:javascript 金额计算

    今天在项目中开发一个计算金额的功能,开始我是这样做的: eg: var amount += parseFloat( 0.01+0.02); 结果:0.0300000000000000001 为什么呢? ...

  10. 所有古诗词的api

    服务商:api.getlove.cn 分类:诗词 更新时间:2016-03 如果接口不满足您的要求,您可以联系qq:2265658022购买完整的数据库 免费apikey:56eab527a0facb ...