SlideShare una empresa de Scribd logo
1 de 7
Descargar para leer sin conexión
わんくま同盟 名古屋勉強会 #46
ECMA-376の活用を考える
(XLSX編)
2018/12/15(土)
You&I
わんくま同盟 名古屋勉強会 #46
ジコ、ショウカイ。
• H/N: You&I(読み:ユーアンドアイ)
• SNS: @you_and_i
• 出身: 生まれも育ちも名古屋市
• 年齢: 40歳代
• 本職: 商学部出身の職業プログラマ
• 言語: C++他
•所属: プロ生勉強会 名古屋支部
名古屋アジャイル勉強会
わんくま同盟 名古屋勉強会
2
わんくま同盟 名古屋勉強会 #46
ECMA-376の活用
• ECMA-376(=Office Open XML, ISO/IEC
29500)を使った事がないエンジニアはいないと思
います。
• Apache OpenOfficeが採用するODF(Open
Document Format, ISO/IEC 26300, JIS
X 4401)に対抗する規格としてOOXMLが作成
されましたが、その内容はMicrosoft Officeの実
装を規格化したもので、Microsoft以外が実装
するには骨の折れる感じです。
3
わんくま同盟 名古屋勉強会 #46
ECMA-376の活用
• Windows OS上で、Excel形式のファイルをプロ
グラム的に生成しようとする場合、COMを使って
OLEオートメーション経由でExcelを操作するやり
方が主流でした。
• 上記以外には、Apache POIを使ったやり方くら
いでしょうか。
4
わんくま同盟 名古屋勉強会 #46
ECMA-376の活用
• OLEオートメーション経由する場合、バックグラウ
ンドでExcelなりが起動している状態になるので、
処理中にExcel文書を開くと、OLEオートメーショ
ン処理がエラーになったり、Excelがメモリ馬鹿食
いしたりと、制約も多いです。
5
わんくま同盟 名古屋勉強会 #46
ECMA-376の活用
• オープンな規格になった事により、OOXML形式
を扱えるOSSも出てきました。
– libxlsxwriter
• https://github.com/jmcnamara/libxlsxwriter
• xlsx形式を扱えるLinux向けのライブラリです。
• Windows向けのMSVCLibXlsxWriterもあります。
• https://github.com/jmcnamara/MSVCLibXlsx
Writer
6
わんくま同盟 名古屋勉強会 #46
ECMA-376の活用
• libxlsxwriterを使う利点
– 処理中もExcelが起動できて便利です。
– Excelのインストールが不要です。
– プログラムの64bit化の制約がない。
• libxlsxwriterの弱点
– ECMA-376≠Microsoft Office文書であると思い
知る・・・。Microsoft OfficeにECMA-376は内包
されていますが、一部でしかない。Excel上でできる設
定がライブラリからはできなかったりします。
7

Más contenido relacionado

Similar a ECMA-376の活用を考える(XLSX編)

プランニングポーカーで学ぶ相対見積
プランニングポーカーで学ぶ相対見積プランニングポーカーで学ぶ相対見積
プランニングポーカーで学ぶ相対見積You&I
 
セッション発表のスゝメ
セッション発表のスゝメセッション発表のスゝメ
セッション発表のスゝメYou&I
 
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜Koichi ITO
 
並列処理について
並列処理について並列処理について
並列処理についてYou&I
 
Team Foundation Serivceを使ってみる
Team Foundation Serivceを使ってみるTeam Foundation Serivceを使ってみる
Team Foundation Serivceを使ってみるYou&I
 
あなたの知らないセキュリティ規格の話
あなたの知らないセキュリティ規格の話あなたの知らないセキュリティ規格の話
あなたの知らないセキュリティ規格の話You&I
 
ペーパークラフトで学ぶフィードバックと改善(鬼)
ペーパークラフトで学ぶフィードバックと改善(鬼)ペーパークラフトで学ぶフィードバックと改善(鬼)
ペーパークラフトで学ぶフィードバックと改善(鬼)You&I
 
社内勉強会を続けるには(2016.10.07 DevLove 関西)
社内勉強会を続けるには(2016.10.07 DevLove 関西)社内勉強会を続けるには(2016.10.07 DevLove 関西)
社内勉強会を続けるには(2016.10.07 DevLove 関西)株式会社MonotaRO Tech Team
 
スクラムによるチームの改善 ~アジャイル開発の始め方~
スクラムによるチームの改善 ~アジャイル開発の始め方~スクラムによるチームの改善 ~アジャイル開発の始め方~
スクラムによるチームの改善 ~アジャイル開発の始め方~You&I
 
負けない組織の原則を知る ~仕事の型を身につけよう~
負けない組織の原則を知る ~仕事の型を身につけよう~負けない組織の原則を知る ~仕事の型を身につけよう~
負けない組織の原則を知る ~仕事の型を身につけよう~You&I
 
すぱこーに学ぶアプリ開発の第一歩
すぱこーに学ぶアプリ開発の第一歩すぱこーに学ぶアプリ開発の第一歩
すぱこーに学ぶアプリ開発の第一歩You&I
 
st2でシステム管理
st2でシステム管理st2でシステム管理
st2でシステム管理You&I
 
作業スケジュールを運用・管理する技術
作業スケジュールを運用・管理する技術作業スケジュールを運用・管理する技術
作業スケジュールを運用・管理する技術You&I
 
LAMDA入門 ~計画&速度を重視する発展型PDCA~
LAMDA入門 ~計画&速度を重視する発展型PDCA~LAMDA入門 ~計画&速度を重視する発展型PDCA~
LAMDA入門 ~計画&速度を重視する発展型PDCA~You&I
 
ユーザーストーリーで学ぶスクラム
ユーザーストーリーで学ぶスクラムユーザーストーリーで学ぶスクラム
ユーザーストーリーで学ぶスクラムYou&I
 

Similar a ECMA-376の活用を考える(XLSX編) (20)

それはコトだ
それはコトだそれはコトだ
それはコトだ
 
QnA Maker 逆入門
QnA Maker 逆入門QnA Maker 逆入門
QnA Maker 逆入門
 
プランニングポーカーで学ぶ相対見積
プランニングポーカーで学ぶ相対見積プランニングポーカーで学ぶ相対見積
プランニングポーカーで学ぶ相対見積
 
セッション発表のスゝメ
セッション発表のスゝメセッション発表のスゝメ
セッション発表のスゝメ
 
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
 
並列処理について
並列処理について並列処理について
並列処理について
 
Coderetreat素振り会
Coderetreat素振り会Coderetreat素振り会
Coderetreat素振り会
 
課題駆動の勘所
課題駆動の勘所課題駆動の勘所
課題駆動の勘所
 
Team Foundation Serivceを使ってみる
Team Foundation Serivceを使ってみるTeam Foundation Serivceを使ってみる
Team Foundation Serivceを使ってみる
 
あなたの知らないセキュリティ規格の話
あなたの知らないセキュリティ規格の話あなたの知らないセキュリティ規格の話
あなたの知らないセキュリティ規格の話
 
ペーパークラフトで学ぶフィードバックと改善(鬼)
ペーパークラフトで学ぶフィードバックと改善(鬼)ペーパークラフトで学ぶフィードバックと改善(鬼)
ペーパークラフトで学ぶフィードバックと改善(鬼)
 
4DX
4DX4DX
4DX
 
社内勉強会を続けるには(2016.10.07 DevLove 関西)
社内勉強会を続けるには(2016.10.07 DevLove 関西)社内勉強会を続けるには(2016.10.07 DevLove 関西)
社内勉強会を続けるには(2016.10.07 DevLove 関西)
 
スクラムによるチームの改善 ~アジャイル開発の始め方~
スクラムによるチームの改善 ~アジャイル開発の始め方~スクラムによるチームの改善 ~アジャイル開発の始め方~
スクラムによるチームの改善 ~アジャイル開発の始め方~
 
負けない組織の原則を知る ~仕事の型を身につけよう~
負けない組織の原則を知る ~仕事の型を身につけよう~負けない組織の原則を知る ~仕事の型を身につけよう~
負けない組織の原則を知る ~仕事の型を身につけよう~
 
すぱこーに学ぶアプリ開発の第一歩
すぱこーに学ぶアプリ開発の第一歩すぱこーに学ぶアプリ開発の第一歩
すぱこーに学ぶアプリ開発の第一歩
 
st2でシステム管理
st2でシステム管理st2でシステム管理
st2でシステム管理
 
作業スケジュールを運用・管理する技術
作業スケジュールを運用・管理する技術作業スケジュールを運用・管理する技術
作業スケジュールを運用・管理する技術
 
LAMDA入門 ~計画&速度を重視する発展型PDCA~
LAMDA入門 ~計画&速度を重視する発展型PDCA~LAMDA入門 ~計画&速度を重視する発展型PDCA~
LAMDA入門 ~計画&速度を重視する発展型PDCA~
 
ユーザーストーリーで学ぶスクラム
ユーザーストーリーで学ぶスクラムユーザーストーリーで学ぶスクラム
ユーザーストーリーで学ぶスクラム
 

ECMA-376の活用を考える(XLSX編)

  • 2. わんくま同盟 名古屋勉強会 #46 ジコ、ショウカイ。 • H/N: You&I(読み:ユーアンドアイ) • SNS: @you_and_i • 出身: 生まれも育ちも名古屋市 • 年齢: 40歳代 • 本職: 商学部出身の職業プログラマ • 言語: C++他 •所属: プロ生勉強会 名古屋支部 名古屋アジャイル勉強会 わんくま同盟 名古屋勉強会 2
  • 3. わんくま同盟 名古屋勉強会 #46 ECMA-376の活用 • ECMA-376(=Office Open XML, ISO/IEC 29500)を使った事がないエンジニアはいないと思 います。 • Apache OpenOfficeが採用するODF(Open Document Format, ISO/IEC 26300, JIS X 4401)に対抗する規格としてOOXMLが作成 されましたが、その内容はMicrosoft Officeの実 装を規格化したもので、Microsoft以外が実装 するには骨の折れる感じです。 3
  • 4. わんくま同盟 名古屋勉強会 #46 ECMA-376の活用 • Windows OS上で、Excel形式のファイルをプロ グラム的に生成しようとする場合、COMを使って OLEオートメーション経由でExcelを操作するやり 方が主流でした。 • 上記以外には、Apache POIを使ったやり方くら いでしょうか。 4
  • 5. わんくま同盟 名古屋勉強会 #46 ECMA-376の活用 • OLEオートメーション経由する場合、バックグラウ ンドでExcelなりが起動している状態になるので、 処理中にExcel文書を開くと、OLEオートメーショ ン処理がエラーになったり、Excelがメモリ馬鹿食 いしたりと、制約も多いです。 5
  • 6. わんくま同盟 名古屋勉強会 #46 ECMA-376の活用 • オープンな規格になった事により、OOXML形式 を扱えるOSSも出てきました。 – libxlsxwriter • https://github.com/jmcnamara/libxlsxwriter • xlsx形式を扱えるLinux向けのライブラリです。 • Windows向けのMSVCLibXlsxWriterもあります。 • https://github.com/jmcnamara/MSVCLibXlsx Writer 6
  • 7. わんくま同盟 名古屋勉強会 #46 ECMA-376の活用 • libxlsxwriterを使う利点 – 処理中もExcelが起動できて便利です。 – Excelのインストールが不要です。 – プログラムの64bit化の制約がない。 • libxlsxwriterの弱点 – ECMA-376≠Microsoft Office文書であると思い 知る・・・。Microsoft OfficeにECMA-376は内包 されていますが、一部でしかない。Excel上でできる設 定がライブラリからはできなかったりします。 7