C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.79995 の関連記事表示

<< 0 >>
■79995  C#からxlsxファイルにアクセス時に必要なものは?
□投稿者/ Mu -(2016/06/03(Fri) 12:22:52)

    分類:[.NET 全般] 

    開発:Win7 32bit Vs2015 C# .Net4.5 Excel2007(xlsx形式)
    実行環境:Win8.1Pro 64bit

    なんか、似たような内容でたびたび申し訳ないです。

    お世話になります。上記の開発環境でエクセルファイルを読み込むツールを作成しています。
    実行環境にエクセルがインストールされていないのですが、この場合、DLL等のインストール
    でアクセスすることが可能でしょうか(どこか参考になるサイトは無いでしょうか)。
    若しくはエクセルのインストールが必須でしょうか。

    以下を参考にしてみましたが、DLLが配布されていないようで、アプリが起動しませんでした。
    ※起動時にCLSID{・・・・}取得エラー
    http://www.osadasoft.com/c-excel%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%A8%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%A9%E3%81%AE%E4%BD%9C%E6%88%90/

    以上、よろしくお願いします。
親記事 /過去ログ136より / 関連記事表示
削除チェック/

■79997  Re[1]: C#からxlsxファイルにアクセス時に必要なものは?
□投稿者/ WebSurfer -(2016/06/03(Fri) 13:00:07)
    No79995 (Mu さん) に返信
    > 開発:Win7 32bit Vs2015 C# .Net4.5 Excel2007(xlsx形式)
    > 実行環境:Win8.1Pro 64bit
    >
    > なんか、似たような内容でたびたび申し訳ないです。
    >
    > お世話になります。上記の開発環境でエクセルファイルを読み込むツールを作成しています。
    > 実行環境にエクセルがインストールされていないのですが、この場合、DLL等のインストール
    > でアクセスすることが可能でしょうか(どこか参考になるサイトは無いでしょうか)。

    ACE でできると思います。(書式などを設定しようとすると無理ですが。その場合は Open XML とか
    Closed XML を使うことになると思います)

    ACE OleDb で Excel のブック作成
    http://surferonwww.info/BlogEngine/post/2012/01/26/Creating-Excel-workbook-by-using-ACE-OleDb-provider.aspx
記事No.79995 のレス /過去ログ136より / 関連記事表示
削除チェック/

■80002  Re[2]: C#からxlsxファイルにアクセス時に必要なものは?
□投稿者/ Mu -(2016/06/03(Fri) 13:46:44)
    WebSurfer 様
    お世話になります。

    サイト見ました。ACEでDBのようにアクセスすることもできるんですね。

    ただ、今回取り扱うシートは1シート内に複数の表があったり、任意位置のセル
    のみ値を取得したりという内容なので、セルに直接アクセスをしたいのです。

    エクセルのインストールが必須か?
    若しくは別途DLL等のインストールでOKか。

    このあたりの情報を希望しますm(__)m。





    No79997 (WebSurfer さん) に返信
    > ■No79995 (Mu さん) に返信
    >>開発:Win7 32bit Vs2015 C# .Net4.5 Excel2007(xlsx形式)
    >>実行環境:Win8.1Pro 64bit
    >>
    >>なんか、似たような内容でたびたび申し訳ないです。
    >>
    >>お世話になります。上記の開発環境でエクセルファイルを読み込むツールを作成しています。
    >>実行環境にエクセルがインストールされていないのですが、この場合、DLL等のインストール
    >>でアクセスすることが可能でしょうか(どこか参考になるサイトは無いでしょうか)。
    >
    > ACE でできると思います。(書式などを設定しようとすると無理ですが。その場合は Open XML とか
    > Closed XML を使うことになると思います)
    >
    > ACE OleDb で Excel のブック作成
    > http://surferonwww.info/BlogEngine/post/2012/01/26/Creating-Excel-workbook-by-using-ACE-OleDb-provider.aspx
記事No.79995 のレス /過去ログ136より / 関連記事表示
削除チェック/

■80006  Re[3]: C#からxlsxファイルにアクセス時に必要なものは?
□投稿者/ 魔界の仮面弁士 -(2016/06/03(Fri) 14:19:01)
    No80002 (Mu さん) に返信
    > ただ、今回取り扱うシートは1シート内に複数の表があったり、任意位置のセル
    > のみ値を取得したりという内容なので、セルに直接アクセスをしたいのです。

    セル単位での走査も可能です。
    たとえば下記では、Sheet1 の E9:J11 の範囲(3行6列分)を読み出しています。


    string connString =
     "Provider=Microsoft.ACE.OLEDB.12.0;" +
     "Data Source=C:\\TEMP\\TEST.xlsx;" +
     "Extended Properties=\"Excel 12.0 Xml;IMEX=1;HDR=NO\"";

    DataTable table = new DataTable();

    using (OleDbConnection connection = new OleDbConnection(connString))
    {
      string sql = @"SELECT * FROM [Sheet1$E9:J11]";
      using (OleDbDataAdapter da = new OleDbDataAdapter())
      {
        da.SelectCommand = connection.CreateCommand();
        da.SelectCommand.CommandText = sql;
        da.Fill(table);
      }
      connection.Close();
    }

    // OleDbDataReader を使っても OK。



    > エクセルのインストールが必須か?
    Excel.Application をオートメーションする場合は、
    Excel 本体のインストール(と Excel の利用ライセンス)が必要です。

    また、COM 相互運用になるので、オブジェクトの解放の手間が意外と面倒です。


    > 若しくは別途DLL等のインストールでOKか。
    xlsx を直接編集するタイプのライブラリなら、Excel は不要です。ACE もそうですね。

    http://c1.grapecity.com/SuperProducts/Excel/
    http://www.xlsoft.com/jp/products/spreadsheetgear/
    http://www.adv.co.jp/product/product_excelcreator2012.htm
    https://code.google.com/archive/p/excellibrary/
    https://exceldatareader.codeplex.com/
    http://npoi.codeplex.com/
    http://epplus.codeplex.com/
    https://closedxml.codeplex.com/
記事No.79995 のレス /過去ログ136より / 関連記事表示
削除チェック/

■80003  Re[3]: C#からxlsxファイルにアクセス時に必要なものは?
□投稿者/ WebSurfer -(2016/06/03(Fri) 14:00:58)
記事No.79995 のレス /過去ログ136より / 関連記事表示
削除チェック/

■80012  Re[4]: C#からxlsxファイルにアクセス時に必要なものは?
□投稿者/ Mu -(2016/06/03(Fri) 17:29:44)
    魔界の仮面弁士様、WebSurfer 様
    お世話になります。

    情報、ありがとうございます。実際に試して、エクセルのデータを
    読むことができました。

    追加で質問ですが、SQLでデータの読み書きをする
    いうことで、やはり、セルの背景色や罫線などのフォーマット
    に関するものにはアクセスできないですよね・・・。

                         以上
記事No.79995 のレス /過去ログ136より / 関連記事表示
削除チェック/

■80014  Re[5]: C#からxlsxファイルにアクセス時に必要なものは?
□投稿者/ 魔界の仮面弁士 -(2016/06/03(Fri) 17:41:08)
    No80012 (Mu さん) に返信
    > 追加で質問ですが、SQLでデータの読み書きをする
    書式は扱えません。

    DAO や ACE のそれは、JET I-ISAM と呼ばれる物で、
    あくまでも「データ」として扱うために用意された機能です。


    > いうことで、やはり、セルの背景色や罫線などのフォーマット
    > に関するものにはアクセスできないですよね・・・。
    先ほど紹介したライブラリをお試しください。
    xlsx の書式操作にも対応しています。

    もし、「読み取り」ではなく「出力」が目的なのであれば、
    xlsx ではなく、SYLK フォーマットや HTML フォーマットで
    ファイルを吐き出すという手もあります。あるいは XML でも良いですが。
記事No.79995 のレス /過去ログ136より / 関連記事表示
削除チェック/

■80015  Re[6]: C#からxlsxファイルにアクセス時に必要なものは?
□投稿者/ Mu -(2016/06/03(Fri) 17:50:16)
    魔界の仮面弁士様、ご返信、ありがとうございます。
    >あくまでも「データ」として扱うために用意された機能です。

    了解しました。

    納入先がサードパーティ製品の導入は強く拒否しているので、
    エクセルをインストールしてもらう方向になりそうです。

    貴重な情報、ありがとうございましたm(__)m。

記事No.79995 のレス / END /過去ログ136より / 関連記事表示
削除チェック/

■80016  Re[7]: C#からxlsxファイルにアクセス時に必要なものは?
□投稿者/ WebSurfer -(2016/06/03(Fri) 18:06:32)
    No80015 (Mu さん) に返信

    > >あくまでも「データ」として扱うために用意された機能です。
    >
    > 了解しました。
    >
    > 納入先がサードパーティ製品の導入は強く拒否しているので、
    > エクセルをインストールしてもらう方向になりそうです。

    レスを読んでいただいてますか? ACE で書式設定がダメなのは一番最初のレスで
    書きました。

    Open XML を紹介しましたが、見ていただけましたか? サードパーティ製品ではあ
    りません。
記事No.79995 のレス /過去ログ136より / 関連記事表示
削除チェック/

■80019  Re[7]: C#からxlsxファイルにアクセス時に必要なものは?
□投稿者/ 魔界の仮面弁士 -(2016/06/03(Fri) 18:56:03)
記事No.79995 のレス / END /過去ログ136より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -