C#写Excel(OleDB)
先辟谣(至少对Excel2010来说)
IMEX ( IMport EXport mode )设置
IMEX 有三种模式,各自引起的读写行为也不同,容後再述:
0 is Export mode:只能写入
1 is Import mode:只能读取
2 is Linked mode (full update capabilities):读写均可
我这里特别要说明的就是 IMEX 参数了,因为不同的模式代表著不同的读写行为:
当IMEX=0 时为“汇出模式”,这个模式开启的 Excel 档案只能用来做“写入”用途。
当 IMEX=1 时为“汇入模式”,这个模式开启的 Excel 档案只能用来做“读取”用途。
当 IMEX=2 时为“连結模式”,这个模式开启的 Excel 档案可同时支援“读取”与“写入”用途。
IMEX=2的是写不了的,还不如不加.0:写,1读
IMEX=1 / IMEX=2:不能修改表“用户”的设计。它在只读数据库中。 上代码:
using System;
using System.Data;
using System.Data.OleDb; namespace ConsoleApplication2 {
class Program {
static void Main(string[] args) {
const string strPath = @"..\MyTable.xlsx";
OleDbConnection _conn = null; _conn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source="
+ strPath
+ ";Extended Properties='Excel 12.0;IMEX=0'");
try
{
_conn.Open();
string sqlDropTb = "DROP TABLE [用户]";
string sqlCreate = "CREATE TABLE [用户] ([ID] INTEGER, [姓名] VarChar)";
string sqlInsert = "INSERT INTO [用户] VALUES ( 1, 'Andy' )";
string sqlUpdate = "UPDATE [用户] SET [姓名] = 'Cat' WHERE [ID]=1";
OleDbCommand _cmd = new OleDbCommand(sqlDropTb, _conn);
Console.WriteLine(_cmd.ExecuteNonQuery() + "行受影响 Drop"); _cmd = new OleDbCommand(sqlCreate, _conn);
Console.WriteLine(_cmd.ExecuteNonQuery() + "行受影响 Create"); _cmd = new OleDbCommand(sqlInsert, _conn);
Console.WriteLine(_cmd.ExecuteNonQuery() + "行受影响 Insert"); _cmd = new OleDbCommand(sqlUpdate, _conn);
Console.WriteLine(_cmd.ExecuteNonQuery() + "行受影响 Update");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
if (_conn != null)
{
_conn.Close();
_conn = null;
}
}
Console.ReadKey();
}
}
}
优点:像写数据库一样写Excel
缺点:只能像写数据库一样写Excel
C#写Excel(OleDB)的更多相关文章
- java的poi技术写Excel的Sheet
在这之前写过关于java读,写Excel的blog如下: Excel转Html java的poi技术读,写Excel[2003-2007,2010] java的poi技术读取Excel[2003-20 ...
- java的poi技术读,写Excel[2003-2007,2010]
在上一篇blog:java的poi技术读取Excel[2003-2007,2010] 中介绍了关于java中的poi技术读取excel的相关操作 读取excel和MySQL相关: java的poi技术 ...
- 使用Python xlwt写excel文件
如果需要使用Python写Excel文件,首先下载或者安装xlwt. pip install xlwt 下面的这些demo应该可以帮助开发者快速上手使用xlwt写Excel文件: 创建工作簿(work ...
- c# 解决IIS写Excel的权限问题
c# 解决IIS写Excel的权限问题 from: http://www.jb51.net/article/31473.htm 发布:mdxy-dxy 字体:[增加 减小] 类型:转载 使用以上方法必 ...
- java 写 Excel(不生成实体文件,写为流的形式)
java 写 Excel(不生成实体文件,写为流的形式) public String exportReportExcel(String mediaCode, List<SimpleMediaRe ...
- Pandas 基础(4) - 读/写 Excel 和 CSV 文件
这一节将分别介绍读/写 Excel 和 CSV 文件的各种方式: - 读入 CSV 文件 首先是准备一个 csv 文件, 这里我用的是 stock_data.csv, 文件我已上传, 大家可以直接下载 ...
- python读、写、修改、追写excel文件
三个工具包 python操作excel的三个工具包如下 xlrd: 对excel进行读相关操作 xlwt: 对excel进行写相关操作 xlutils: 对excel读写操作的整合 注意,只能操作.x ...
- Python3 读、写Excel文件
首先,简单介绍一下EXECL中工作簿和工作表的区别: 工作簿的英文是BOOK(WORKBOOK),工作表的英文是SHEET(WORKSHEET). 一个工作簿就是一个独立的文件 一个工作簿里面可以有1 ...
- C# 读带复选框的excel,写excel并设置字体、边框、背景色
这是一篇excel读写功能大汇总,通过C#调用Microsoft.Office.Interop.Excel.dll才能完成任何复杂格式excel的读写操作. 本文需要读取的excel格式如下: 可见表 ...
随机推荐
- css动画和js动画的差异
代码复杂度,js 动画代码相对复杂一些 动画运行时,对动画的控制程度上,js 能够让动画,暂停,取消,终止,css动画不能添加事件 动画性能看,js 动画多了一个js 解析的过程,性能不如 css 动 ...
- MySQL 有用的查询语句
查看指定数据库 db_name 的字符集和排序规则 USE db_name; SELECT @@character_set_database, @@collation_database; 显示索引信息 ...
- python引入自定义模块
Python的包搜索路径 Python会在以下路径中搜索它想要寻找的模块:1. 程序所在的文件夹2. 标准库的安装路径3. 操作系统环境变量PYTHONPATH所包含的路径 将自定义库的路径添加到Py ...
- 5、Linux-Mac配置环境变量
1.安装jdk1.6,1.7,1.8 2.查看jdk安装目录 /usr/libexec/java_home -v 1.6 /usr/libexec/java_home -v 1.7 /usr/libe ...
- KC705开发板关于MIG的配置
KC705开发板关于MIG的配置
- golang里json的处理配合struct是相当方便
type Feed struct { Name string `json:"site"` URI string `json:"link"` Type strin ...
- spring boot 热更新配置
maven添加 spring-boot-devtools 允许自动构建 设置里面,搜索compiler,在Build,Execution,Deployment里面勾选Build project aut ...
- RedirectStandardOutput
当Process将文本写入其标准流,通常在控制台上显示文本. 通过设置RedirectStandardOutput到true重定向StandardOutput流,可以操作或取消进程的输出. 例如,可以 ...
- 黄聪:PHP发送邮件出现Connection: opening to ssl://的解决办法
PHP.ini文件开启下面2个功能: extension=php_sockets.dll extension=php_openssl.dll
- react的echarts BizCharts
react BizCharts react的饼图,折线图 点击进入官网 -> https://bizcharts.net/products/bizCharts/demo 如果你在这遇到了问题,欢 ...