2016-05-16 27 views
0

私は特定の場所と特定の名前でExcelファイルを作成したいと思っています。 これにFile.Create("Filename.xlsx")を使用できますか?File.Createを使用してExcelファイルを作成できますか?

これはファイルを作成しますが、開こうとするとファイルが作成されます。それは拡張の問題を言います。

私はexcelAppを使用して別の方法を試みました。しかし、その方法では、 "〜Documents \ Sheet1.xlsx"にExcelファイルのデフォルトを作成します。だから私はその場合は場所とファイル名を指定することはできません。私は再び依頼する必要があり、コメントすることができませんのでSpecify Path and filename while creating excel

-

Excel.Application excelApp = new Excel.Application(); 
Excel.Workbook excelWorkBook = excelApp.Workbooks.Add(1); 

質問は似ています。 私はリンクで提供された答えを試してみました。

マイコード:

Excel.Application excelApp = new Excel.Application(); 
    object missing = System.Reflection.Missing.Value; 
    Excel.Workbook excelWorkBook = excelApp.Workbooks.Add(missing); 

//.... 
     Fill excelWorkbook after creating worksheets 
....// 

     excelWorkBook.Save(); 

今、提案どおり、代わりに保存の、私が使用している名前を付けて保存。

excelWorkBook.SaveAs(@"E:\\MyExcelBook\\abcd.xlsx", 
         Excel.XlFileFormat.xlOpenXMLWorkbook, missing, missing, 
         false, false, Excel.XlSaveAsAccessMode.xlNoChange, 
         missing, missing, missing, missing, missing); 

エラー: *ファイルにアクセスできませんでした。次のいずれかを試してください:\ n \ n•指定したフォルダが存在することを確認します。 \ n•ファイルが保存されているフォルダが読み取り専用でないことを確認してください。\ n•ファイル名に次の文字が含まれていないことを確認してください:<>? []:|または\ n•ファイル/パス名に218文字を超えないようにしてください。

私は間違っていますか教えてください。

+0

は、同様の質問への答えは、あなたが何をする必要があるかを説明しませんか? 'excelWorkBook.SaveAs(" c:\ path-to-anywherever "、...' – Sphinxxx

+0

を使用してください。拡張子が.xlsxの "空の"ファイルを保存しても、excelがそのようなファイルを読み取ることはできません。あなたはOpenXML、ClosedXML(私の好み)、interop(yucky)を使用することができますし、Excel文書を作成する他の多くの方法もあります。 – Kritner

+0

このリンクは[COM Interopの使用](https://msdn.microsoft。 com/ja-us/library/ms173186(v = 80).aspx)。 – Pushpendra

答えて

1

Just because you save an "empty" file with an extension of .xlsx doesn't mean excel is able to read such a file. You can use OpenXML, ClosedXML (my preferred), interop (yucky) and I'm sure many other methods of creating an excel document

File.Create(...)新しいテキストドキュメントを選択し、「新しいテキストDocument.xlsx」に「新規テキストドキュメント.txt」から名前を変更、ファイルエクスプローラの右クリックよりもはるかに違いはありません。ええ、その拡張子は優れていますが、Excelは空のファイルを読み取ることができません状態それはExcelファイルです。

は、Excelファイルを作成するために使用可能なライブラリのいずれかを使用することができます。

  1. ClosedXML
  2. OpenXML
  3. Interop

などほとんどの "保存" メソッドまたは「名前を付けて保存これらのライブラリ内のメソッドは、デフォルトでは作業ディレクトリにファイルを作成しますが、ディレクトリを指定して作成することもできます。ただ、リンク問題の答えとして

は示しています

workbook.SaveAs(@"c:\documents\book1.xlsx", 
     Excel.XlFileFormat.xlOpenXMLWorkbook, missing, missing, 
     false, false, Excel.XlSaveAsAccessMode.xlNoChange, 
     missing, missing, missing, missing, missing); 
+0

私はすでに提案したことを試したので、質問を更新しました。私は何かを見つけることができない限り、それを再加工します。 –

+0

あなたは***と '\\ 'の両方をエスケープする必要はありません。 – Kritner

+0

ああ...それは気がつかなかった。今働いている。多分構文の誤りがあるかもしれないと私は考えていました。ありがとう。 –

関連する問題