Exception de HRESULT: 0x800A03EC Erreur lors de l'enregistrement du fichier Excel

Je suis de l'enregistrement des données sur l'événement click du bouton et voici le code:

using Excel = Microsoft.Office.Interop.Excel;

Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
Excel.Range range;

object misValue = System.Reflection.Missing.Value;
String st = System.IO.Directory.GetCurrentDirectory() + "\\A.xlsx";

xlApp = new Excel.ApplicationClass();

xlWorkBook = xlApp.Workbooks.Open(st, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

int i = 6;
for (i = 6; i < 10; i++)
{
    xlWorkBook.SaveAs(st, XlFileFormat.xlExcel9795, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlShared, misValue, misValue, misValue, misValue, misValue);
MessageBox.Show(xlWorkSheet.get_Range("L" + @i, "L" + @i).Value2.ToString());
}

xlWorkBook.Close(true, misValue, misValue);
xlApp.Quit();

Quand je suis de l'enregistrer, il me donne l'erreur:

HRESULT: 0x800A03EC Erreur lors de l'enregistrement du fichier Excel

  • Sont que vous essayez d'enregistrer le même classeur 4 fois sans un changement de nom de fichier?
  • mais je suis d'erreur dans la première fois seulement
  • Vous devez être un peu plus précis. Faire tous les MessageBoxes pop-up? Êtes-vous sûr que le processus de sauvegarde est terminé?
  • Je veux utiliser (xlWorkSheet.get_Range("L" + @i, "L" + @i).Valeur2.ToString() de la valeur..donc seulement maintenant, je suis en train de montrer qu'il en messagebox
  • Alors, pourquoi ne vous enregistrez votre classeur à tous? Vous pouvez obtenir la valeur sans l'enregistrer.
  • C'est Excel erreur 1004, la même erreur que celui-ci. La solution qu'ils proposent est, ainsi, ironique.

InformationsquelleAutor user1594950 | 2013-03-24