Excel シートインポート、Excel シートエクスポート
■SAK 関数利用規程 ・テクニック編で紹介する関数は、私こと Y.SAK の開発関数である。 ・著作権明示部分の改編は認めない。 ・個人、企業がこれらの関数を使用したり、一部を使用して新たなシステムや プログラムを開発することは自由です。 ・但し、これらの関数を一部でも使用しているソフトウェアをシェアウェア、 その他有償プロダクトとして配布・販売するには、私の許可が必要です。 (無償のフリーソフトウェアなら、自由に配布しても良い。) ・これらの関数を使用して発生した、いかなる形での損害も私こと Y.SAK は 賠償しません。 ■Excel シートインポート (ADO 版) ・外部データ取込として、Excel シート上のデータをデータベースに追加更新 するには、次のようにする。 先頭行を見出しとして無視するか指定できる。 見出しがない場合は、mds = false にする。 テーブルの項目に、char、varchar2、number、long 以外があると、文字列 と数値の判断がおかしくなるかもしれません。 見出しによって、テーブル項目を指定することはしていないので、 シートの項目順は、更新テーブルの項目順と一致していなければなりません。 ・一括トランザクションをかけているため、大量のレコードを更新しようとす ると、ロールバックセグメントがオーバーするか、著しく更新速度が低下す る可能性があります。1 万件を超える場合は要注意です。 ・RDO、ADO、oo4o、CSV、Excel 各種インポート、エクスポートについては、 http://hpcgi2.nifty.com/sak/s3sh/w_s3shix.cgi?key=インポート%20エクスポート を参照下さい。 Dim s3cn_ado As variant Dim dsn As String Dim tbl As String Dim tky As String Dim sql As String Dim rs As variant Dim fnm As String Dim mds As boolean Dim fno As Integer Dim i As Integer Dim j As Integer Dim k As long Dim s As String Dim ct As long Dim exl As Object dsn = "dsn=SAK3_ADO;uid=SAK;pwd=SAK" tbl = "sak.受注m" tky = "受注番号 = ''" '0 件のダミー問い合わせ用のキー" fnm = "g:/tmp/test.xls" mds = true set s3cn_ado = CreateObject ("ADODB.Connection") s3cn_ado.Open dsn sql = "select * from " & tbl & " where " & tky set rs = s3cn_ado.Execute(sql) j = rs.fields.count - 1 redim ctyp(j) as boolean For i = 0 to j select case rs(i).type case 131, 139 ctyp(i) = true case else ctyp(i) = false end select Next rs.close Set exl = CreateObject("Excel.Application") exl.Application.Visible = True exl.Application.Workbooks.Open FileName:=fnm k = 1 if mds then k = 2 end if s3cn_ado.BeginTrans on error resume next for k = k to 65536 s = "" If exl.Cells(k, 1) = "" Then Exit For For i = 0 To j if ctyp(i) then s = s & "," & exl.Cells(k, i + 1) else s = s & ",'" & exl.Cells(k, i + 1) & "'" end if Next s = mid(s, 2) sql = "insert into " & tbl & " values (" & s & ")" s3cn_ado.Execute sql if err <> 0 then s3cn_ado.RollbackTrans close fno s3cn_ado.Close msgbox "更新エラー" & chr(10) & err & ": " & error _ & chr(10) & ct + 1 & " 件目に問題あり" _ & chr(10) & sql end end if ct = ct + 1 next s3cn_ado.CommitTrans on error goto 0 exl.Application.DisplayAlerts = False exl.Application.Quit s3cn_ado.Close ■Excel シートエクスポート (ADO 版) ・外部データコンバートとして、Excel シートに問い合わせ結果を出力には、 次のようにする。但し、コードのゼロ埋め処理はしていません。 見出し出力が不要な場合は、mds = false にする。 ・RDO、ADO、oo4o、CSV、Excel 各種インポート、エクスポートについては、 http://hpcgi2.nifty.com/sak/s3sh/w_s3shix.cgi?key=インポート%20エクスポート を参照下さい。 Dim s3cn_ado As variant Dim dsn As String Dim sql As String Dim rs As variant Dim fnm As String Dim mds As boolean Dim i As Integer Dim k As long Dim exl As Object dsn = "dsn=SAK3_ADO;uid=SAK;pwd=SAK" sql = "select * from sak.受注m order by 受注番号" fnm = "g:/tmp/test.xls" mds = true set s3cn_ado = CreateObject ("ADODB.Connection") s3cn_ado.Open dsn set rs = s3cn_ado.Execute(sql) Set exl = CreateObject("Excel.Sheet") k = 1 if mds then For i = 0 to rs.fields.count - 1 exl.worksheets(1).cells(k, i + 1).value = rs(i).name Next k = 2 end if Do Until rs.EOF For i = 0 to rs.fields.count - 1 exl.worksheets(1).cells(k, i + 1).value = rs(i) & "" Next k = k + 1 rs.MoveNext Loop rs.close exl.Sheets(1).Name = "test" exl.Application.Visible = True exl.Windows.Arrange ArrangeStyle:=1 exl.saveas fnm s3cn_ado.Close
Excel シートインポート、Excel シートエクスポート相关推荐
- 在线excel、excel协同平台、网络excel类产品很多,为啥大公司却只选云表?
很多企业在办公的时候都会使用EXCEL,在大多数人都习惯了EXCEL操作的情况下,很多依托EXCEL的EXCEL协同平台也应运而生. 不过有一个现象越来越明显,那就是大公司都已不再使用传统的EXCEL ...
- EasyExcel解析并分割Excel、Excel分割
在日常写解析Excel业务中,可能会遇到在解析一个Excel表时,表中的数据不能全被一个对象接收,这时候可能需要定义一个大对象去接收数据,但是我们知道,Excel中一行数据就是一个对象,所以这种方式是 ...
- Excel、Exchange和C#
摘要:Eric Gunnerson 将向您介绍如何使用 Outlook.Excel 和 C# 创建自定义的日历,该日历可以提供适用于短期项目和长期项目的清晰明了的版式. 下载 csharp051520 ...
- txt 乱码_STATA数据导入——将TXT、EXCEL、SAS、SPSS数据/批量导入STATA
作者:Misszhou早早早 邮箱:zlr1220@126.com 使用Stata进行数据分析时面临的第一个问题是如何将各种类型的数据转换为dta.格式,导入的途径主要有以下几种: Stat/Tran ...
- 在word、excel中如果运用VBA进行编程?
VBA简介 VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言.主要能用来扩展Wi ...
- mysql 分组排序_Python、PowerBI、Excel、MySQL,都能做?搞清楚数据聚合与分箱
阅读提示 本内容为日常频繁使用的数据处理操作,不涉及底层技术问题,烦请爱钻牛角的杠精绕行. 本内容尽量简单直白.步骤详细,适合数据分析入门.特别喜欢技术语言的大佬们,可自行跳过. 上一篇:数据更新删除 ...
- Asp.net实现直接在浏览器预览Word、Excel、PDF、Txt文件(附源码)
功能说明 输入文件路径,在浏览器输出文件预览信息,经测试360极速(Chrome).IE9/10.Firefox通过 分类文件及代码说明 DemoFiles 存放可测试文件 Default.aspx ...
- 利用Spring-Boot解析Excel、用Java分析Excel、告别手动输入用程序读取Excel
利用Spring-Boot解析Excel.用Java分析Excel.告别手动输入用程序读取Excel 一.资源 java读取Excel文件 二.修改 (一)中的代码中的 import service. ...
- office(Word、Excel、PPT等图标异常和桌面无新建解决方案)
office(Word.Excel.PPT等图标异常和桌面无新建解决方案) 参考文章: (1)office(Word.Excel.PPT等图标异常和桌面无新建解决方案) (2)https://www. ...
最新文章
- 基于DCMTK的DICOM相关程序编写攻略
- cAdvisor+InfluxDB+Grafana 监控Docker
- 大型程序是如何开发的_小程序开发好之后如何引流
- 如何使用cocoapods来进行依赖库的管理
- 内网通不用软件改积分_软件项目为什么不能够如期交付?
- DeFi信用合作社Xend Finance将于今日23时通过Balancer LBP开启公募
- 一个人越来越沉默,即便是对着家人也无话可说,这究竟是怎么了?
- Oracle ORA-08591告警
- 这个是我学习的所有sql语句的写法
- 阿里人告诉你毕业3年,为何技术能力相差越来越大?
- android自定义ViewPager之——处理与ScrollView的事件冲突
- Ubuntu18.04操作系统sudo apt-get update报错
- 大型分布式网站术语分析
- jQuery入门基础
- volte的sip信令流程_VOLTE-SIP完整信令解析
- QQ坦白说使用Fiddler抓包获取json
- ARP断网攻击(详细教程)
- Codeforces Gym 100015 简要题解
- 【转载】设计之路:如何进行软件需求分析?
- java解决撞库的问题_Web安全开发之验证码设计不当引发的撞库问题
热门文章
- 查看ajax传来的数据,jQuery AJAX 方法 success()后台传来的4种数据
- 沟通的艺术:简介及内容导航
- gmac网卡驱动1-------mac与phy基础知识
- Structured Sequence Modeling With Graph Convolutional Recurrent Networks
- input限制只能11位的数字电话号码
- Google Earth Engine(GEE)——利用sentinel-2数据进行农作物提取分析
- 简单c语言实现的成语接龙小游戏
- 【转载】【《Real-Time Rendering 3rd》 提炼总结】(九) 第十章 · 游戏开发中基于图像的渲染技术总结
- jQuery 单选框/复选框美化
- 智商黑洞(门萨Mensa测试)9