
いつもお世話になっております。
他にも質問をしており申し訳ないですが、どうしても困っておりまして新たに質問させていただきます。
UTL_FILEパッケージにて、予め用意しておいた雛形のExcelファイルに対して、入出力モード='A'にて追加書き込みしたいのですが、「PL/SQLプロシージャは正常に完了しました」は表示されますが、実際のファイルには全く追加書き込みされません。
入出力モード='W'にて新たなファイルを作成し、そのファイルに一切触れないまま、入出力モード='A'で書き込みを行うと、最終行に確かに追加されております。ただ、その新たなファイルをオープンして何か加工するとそれだけで追加書き込みができなくなるようです。
そもそも既存のExcelに追加書き込みできるものなのでしょうか?
どなたかご教授いただけませんでしょうか?
宜しくお願い致します。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
Windows版のオラクルは、PL/SQLでCOMオートメーションを利用できますので、
EXCELを起動し、セルに情報を追記することは、可能です。(標準機能)
オラクルサーバにEXCELがインストールされている必要がありますけどね。
ただ、EXCELで統計資料を作成するのが目的なら、EXCEL側にVBAでオラクルデータを
読み出して、資料を作成する方が簡単かつ事例がたくさんあるように思いますよ。
ご回答ありがとうございます!
COMオートメーションで色々と検索してみましたが、正直難しくてよくわかりません。なにか良いサイトか、もしよろしければサンプルコードなどをご提示いただくことは可能でしょうか?
どうか宜しくお願い致します。
No.1
- 回答日時:
「雛形のExcelファイル」と書いているところが気になるのですが、
その「Excelファイル」の拡張子って*.xlsですか?
それとも*.xlsxとか*.csvでしょうか?
*.xlsフォーマットはバイナリですし、*.xlsxもXML形式ですから、
単純にそれらの形式のファイルの後ろに追加書き込みしても
Excel上では反映されませんよ。
ですから、それは「追加書き込みされていない」のではなくて、
「書き込みはされているがExcelで開いても見えていない」という話では
ないかと思います。
単純にファイルの後ろに追加書き込みした結果がExcelで反映できるのは
*.csvフォーマットじゃないと無理で、それ以外のフォーマットの
Excelファイルを(Excelを使わずに)読み書きするためには、.NETやVB、
perl, pythonなどのプログラム開発環境向けに準備されている
Excelファイルを取り扱うためのライブラリを併用する必要があります。
OracleのUTL_FILE単体だと、元々何らかのデータが入っている
Excelファイルを更新するのは無理だと思いますが。
ご回答ありがとうございます!
>その「Excelファイル」の拡張子って*.xlsですか?
まさに*.xlsです。
>*.xlsフォーマットはバイナリですし、*.xlsxもXML形式ですから、
単純にそれらの形式のファイルの後ろに追加書き込みしても
Excel上では反映されませんよ。
ですから、それは「追加書き込みされていない」のではなくて、
「書き込みはされているがExcelで開いても見えていない」という話では
ないかと思います。
なるほど、そういうことだったんですね。
>Excelファイルを(Excelを使わずに)読み書きするためには、.NETやVB、
perl, pythonなどのプログラム開発環境向けに準備されている
Excelファイルを取り扱うためのライブラリを併用する必要があります。
OracleのUTL_FILE単体だと、元々何らかのデータが入っている
Excelファイルを更新するのは無理だと思いますが。
PL/SQLのみを使用して、簡単な統計が作れれば工数削減になるかと思って思いついたのですが、ムリなようですね。。
csvファイルに記号(===等)を使用して、枠線っぽく書いて加工するしかなさそうですね?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語初心者の質問失礼します。
-
error C2065: error C2057: が...
-
smarty上で、動的にファイルを...
-
グローバル変数のよくない使い...
-
同じ名前のファイルを作った場...
-
csvファイルを開かずに文字を検...
-
Wordファイルの結合
-
VBAにてEXCEL以外のファイル(テ...
-
ファイル名の先頭にアンダース...
-
CSVファイルへの保存の際、デー...
-
テキストファイルの最終行を削...
-
マスタとファイルの違いって?
-
VBに、Cのincludeのようなもの...
-
2つのファイルを比較するC言語...
-
c言語のfeof関数はどういう関数?
-
分割コンパイルの#defineについて
-
【C#】リソースファイルの埋め...
-
iniファイルのデータ結合に関す...
-
C言語のfopenについて教えてく...
-
VB.NETによるプロセス間通信
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語初心者の質問失礼します。
-
ファイル名の先頭にアンダース...
-
csvファイルを開かずに文字を検...
-
VB.NETによるプロセス間通信
-
営業秘密の漏洩について
-
Thunderbirdでemlファイルを開...
-
ドラッグアンドドロップでファ...
-
CSVファイルへの保存の際、デー...
-
バッチで118項目のCSVを処理し...
-
SGファイルって何ですか?
-
ファイルの結合
-
分割コンパイルの#defineについて
-
VBAにてEXCEL以外のファイル(テ...
-
2つのCSVファイルの比較
-
ShellExecuteEx→WaitForSingleO...
-
VBに、Cのincludeのようなもの...
-
RPGでファイル名(もしくはレコ...
-
マウスポインタの変更
-
Excelマクロでの再読込み方法
-
関数の呼び方について
おすすめ情報