为什么80%的码农都做不了架构师?>>>   

本代码主要实现对Excel表的查询、插入和更新操作,而特别指出:Excel表的删除语句操作不支持,只能用更新来替代。

using UnityEngine;
using System.Collections;
using System;
using
System.Data;
using System.Data.Odbc;

public class ExcelHandler : MonoBehaviour {
private DataTable dt =
new DataTable("MyDataTable");
private string conStr;
private
OdbcConnection odbcConn;
public string excelFileName;
public
string path;
private string queryStr;
private string
insertStr;
private string updateStr;
private string
deleteStr;
public string[] insertInfo=new string[6];
public
string tochangedStr;
// Use this for initialization
void Start
()
{
path = Application.dataPath + "/" + excelFileName +
"";
// Must be saved as excel 2003 workbook, not 2007, mono issue
really
conStr = "Driver={Microsoft Excel Driver (*.xls)};
DriverId=790;Dbq=" + path + ";ReadOnly=0;";//excel
odbc连接默认只读,加了ReadOnly=0表示连接可更新
// our odbc
connector
odbcConn = new OdbcConnection
(conStr);
readFromXLS
();
//查询
//insertIntoXLS
();
//插入
//updateXLS();
//更新

}

// Update is called once per
frame
void Update ()
{
Debug.Log
(dt.Rows.Count);
Debug.Log (dt.Columns.Count);
for
(int i=0; i
for (int j=0;
j
Debug.Log (dt.Rows [i] [j] + "--" + dt.Rows [i]
[j].GetType ());
//查询后,打印后每行每列的数据
}
}

}
void
OnGUI ()
{

}
void insertIntoXLS
()
//插入
{
//DateTime d = Convert.ToDateTime
(insertInfo [4]);

insertStr = "insert into
[Sheet1$] values('" + insertInfo [0]+ "','" + insertInfo [1] + "','" +
insertInfo [2] + "')";
OdbcCommand oCmd = new OdbcCommand
(insertStr, odbcConn);
odbcConn.Open ();
try
{
oCmd.ExecuteNonQuery ();
} catch
(Exception ex) {
print
(ex.Message);
}
odbcConn.Close
();
}
void updateXLS ()
{
//string
os=""+;
updateStr = "update [Sheet1$] set [pub]=
'"+tochangedStr+"' where [id]= '"+1+"'
";
print(updateStr);
OdbcCommand oCmd = new
OdbcCommand (updateStr, odbcConn);
odbcConn.Open
();
try {
oCmd.ExecuteNonQuery
();
} catch (Exception ex) {
print
(ex.Message);
}
odbcConn.Close
();
}

void readFromXLS
()
{
queryStr = "SELECT * FROM
[Sheet1$]";
// our command object
OdbcCommand oCmd
= new OdbcCommand (queryStr, odbcConn);
// open the
connection
odbcConn.Open ();
// lets use a
datareader to fill that table!
OdbcDataReader rData =
oCmd.ExecuteReader ();

// now lets blast that
into the table by sheer man power!
dt.Load
(rData);
// close that reader!
rData.Close
();
// close your connection to the
spreadsheet!
odbcConn.Close
();

}

}

转载于:https://my.oschina.net/jieshu/blog/108182

对Excel表的查询、插入和更新操作相关推荐

  1. SQL数据库语言基础之SqlServer表数据的插入、更新与删除

    文章目录 一.数据的插入(INSERT INTO...VALUES) 二.数据的更新(UPDATE) 三.删除数据(DELETE) 一.数据的插入(INSERT INTO-VALUES) 1.数据插入 ...

  2. 使用Python在Excel表指定位置插入多列并赋值

    在指定位置插入多列并赋值 在做数据预处理时有这个需求,查询众多文章发现常用insert()函数以及concat(),但是concat只能在插在Excel表尾部,无法插入指定位置: insert()函数 ...

  3. MySql单张表中,“多个唯一字段”的插入和更新操作----添加联合唯一索引,Navicat上操作

    由于是入门的小白,在项目中遇到了类似的问题,做如下记录. 1.问题场景 开始本篇之前,先说下我遇到的问题场景,实际开发的场景为例: 开发中有一张用户表tb_device_user , 用来记录设备上的 ...

  4. 数据库系统实践 IV 查询插入修改删除操作

    知识 CASE函数 是一种多分支的函数,可以根据条件列表的值返回多个可能的结果表达式中的一个. 可用在任何允许使用表达式的地方,但不能单独作为一个语句执行. 分为: 简单CASE函数 搜索CASE函数 ...

  5. excel生成批量查询、批量更新sql

    批量插入数据库,主键自增,但是涉及到表关联关系,就需要手动定义id,然后在插入之前要进行id检查,是否有重复数据 将id copy到excel中,然后加引号,加引号的操作如=",'" ...

  6. excel表中怎么插入visio_用Excel编制精确甘特图,准确控制任务进展,提高项目管理水平...

    每当开始一个新的工作项目时候,你是如何来制定项目计划进度表呢?有的是在传统笔记本做个项目计划表,而有的朋友则借助一些专业的项目管理软件,如Project.Visio,比较起来,前者太简单,不能够系统化 ...

  7. excel表中怎么插入visio_Excel工作表中的排序,你真的掌握吗?10张动图带你了解!...

    在数据的统计分析中,经常要对数据排序,但你真的了解排序功能吗?今天,小编带你来了解Excel工作表中的排序功能. 一.Excel工作表中:按数值大小排序 方法: 1.选中排序列的任意单元格. 2.[数 ...

  8. excel表中怎么插入visio_如何插入或 Visio 中粘贴的 Excel 工作表-阿里云开发者社区...

    嵌入或链接 Excel 工作表通过对象命令在插入菜单上的绘图在 Visio loadTOCNode(2, 'summary'); 使用 插入 菜单上 对象 命令在 Visio 绘图中插入 Excel ...

  9. excel表中怎么插入visio_怎样在visio中插入表格

    一直知道怎么在visio中插入表格,之前都是拖过来一个进程框,然后一个一个的拼,实在是麻烦,到网上搜了一下,把这些方法罗列在一起,这样再找的时候好用些,也希望有更好方法的朋友能提供一些: 1.在形状/ ...

最新文章

  1. 全面了解Nginx主要应用场景【转】
  2. 关于不同的MySQL复制解决方案概述
  3. linux下查看目录下某种文件类型累计的代码行数
  4. boost::math模块具有输出和输入方面的非有限环回的简要基本测试
  5. 文本编辑器_国外程序员最爱的5种文本编辑器
  6. [react] 使用webpack打包React项目,怎么减小生成的js大小?
  7. Curie Module是什么
  8. vb.net服务器启动后cpu占用了70_服务器如何区分攻击类型?
  9. 剑指offer面试题31. 栈的压入、弹出序列(链表)
  10. 博弈论(二)完全信息静态博弈
  11. word表头宽行重复
  12. 《数据结构》(C语言版)知识点梳理
  13. 7-2 病毒感染检测 C语言数据结构 串的练习
  14. STATA如何进行斯皮尔曼检验
  15. matlab fread 详细讲解
  16. 软件测试参数化的作用,Pytest之测试的参数化
  17. 云南三校生计算机专业250,云南三校生计算机专业2019年本科录取分数线
  18. java两个字符串 相隔天数,计算两个日期之间相隔天数
  19. 保姆级教程——如何访问内网NAS
  20. 第七章文件与数据维度

热门文章

  1. 《用Python进行自然语言处理》第3章 加工原料文本
  2. 德国工业4.0眼里“工业互联网”与“智能制造”
  3. 解读2018年诺贝尔化学奖成果:用进化的力量解决化学问题
  4. 谷歌无人车离奇车祸曝光:人类安全员睡着后,误触关闭了自动驾驶
  5. 全球智能制造发展现状及前景预测 工业机器人引领行业发展
  6. 高通:全球NB-IoT/eMTC最新现状
  7. AI时代数据之争,我们需要什么样的“数据权”?
  8. 微软大神“玩”出新花样,求平均值代码还能这样写?
  9. 我为什么最终放弃了 Linux 桌面版的研发
  10. 必看!程序员逃生指南