1

ユーザーがExcelファイルをアップロードできるようにするプロジェクトに取り組んでおり、ユーザーが送信をクリックすると、ExcelファイルのデータがMSSQLデータベースに取得されます。今のところ、アップロードは機能していますが、MSSQL データベースにアクセスできませんでした。

以前に同じスクリプトを使用したことがありますが、問題なく動作しました (Windows XP)。マシンを Windows 7 に変更したので、その COM エラーが発生します。オンラインにできることはほとんどすべて試しましたが (dcomcnfg 構成)、どれも役に立ちません。

助けてください。

以下はエラーメッセージです:


<pre>
Application name: Microsoft Excel

Loaded version: 14.0

function import-->open below filename: 
C:/xampp/htdocs/www/mysystem/tmp/import_excel_0.32887000 1336015991.xls

Fatal error:  Uncaught exception 'com_exception' with message '<b>Source:</b> Microsoft Excel<br/><b>Description:</b> Microsoft Excel cannot access the file 'C://xampp/htdocs/www/mysystem/tmp/import_excel_0.32887000 1336015991.xls'. There are several possible reasons:

• The file name or path does not exist.
• The file is being used by another program.
• The workbook you are trying to save has the same name as a currently open workbook.' in C:\xampp\htdocs\www\mysystem\import\ImportData.php:52
Stack trace:
#0 C:\xampp\htdocs\www\mysystem\import\ImportData.php(52): variant->Open('C:/xampp/htdocs...')
#1 C:\xampp\htdocs\www\mysystem\import\ImportData.php(19): Import('C:/xampp/htdocs...')
#2 C:\xampp\htdocs\www\mysystem\index.php(698): require('C:\xampp\htdocs...')
#3 {main}
  thrown in C:\xampp\htdocs\www\mysystem\import\ImportData.php on line 52

4

1 に答える 1

2

これで解決しました

IIS が構成されている場合は、これを試してください。

  • コンポーネント サービスにアクセスするには、「dcomcnfg」を実行します。
  • コンポーネント サービス > コンピューター > マイ コンピューター > DCOM 構成を開く
  • Microsoft Excel アプリケーションまたは COM で使用している適切なアプリケーションを検索します
  • それを右クリックしてプロパティを開きます
  • 「アイデンティティ」タブを選択
  • 通常、これはデフォルトで「起動ユーザー」に設定されています。これを「対話ユーザー」に変更する必要があります。
  • これらの新しい設定を適用して、COM アプリケーションをテストします。今はうまくいくはずです。

http://www.php.net/manual/en/class.com.php

于 2012-10-11T00:44:55.443 に答える