При чтении данных из Excel возникает ошибка HRESULT: 0x800A03EC
09.03.2014, 23:27. Показов 1207. Ответов 0
C# | 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| string sStr;
exApp = new Excel.Application();
exApp.Visible = false;
exAppWBs = exApp.Workbooks;
exAppWB = exApp.Workbooks.Open(Application.StartupPath + @"\\PersonsList.xlsx",
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing);
exSheets = exAppWB.Worksheets;
exWS = (Excel.Worksheet)exSheets.get_Item(1);
int[] A;
A = new int[99];
for (int i = 1; i<= 99; i++)
{
int s = Convert.ToInt32(A[i]);
exCells = exWS.get_Range("A" + s.ToString(), Type.Missing);
sStr = Convert.ToString(exCells.Value2);
if (sStr != null)
{
int s2 = Convert.ToInt32(A[i + 1]);
exCells = exWS.get_Range("A" + s2.ToString(), Type.Missing);
//Выводим число
exCells.Value2 = 1000;
}
} |
|
Возникает ошибка HRESULT: 0x800A03EC на этой строке: C# | 1
| exCells = exWS.get_Range("A" + s.ToString(), Type.Missing); |
|
В общем, сначала я пытаюсь считать данные из ячейки А1, и если там не пусто, то вывожу число 1000 в следующую ячейку А2 и т. д.
Помогите разобраться, только без ссылок на этот же форум и прочего, нужно разобраться именно, спасибо!
Добавлено через 1 час 11 минут
Разобрался, вот так заработало, но теперь пишет ошибку: Ошибка доступа к документу 'PersonsList.xlsx', допускающему доступ только для чтения.
C# | 1
2
3
4
| exAppWB.SaveAs(Application.StartupPath + @"\PersonsList.xlsx",
Excel.XlFileFormat.xlExcel7, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing,
Type.Missing, Type.Missing); |
|
C# | 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
| string sStr;
exApp = new Excel.Application();
exApp.Visible = false;
exAppWBs = exApp.Workbooks;
exAppWB = exApp.Workbooks.Open(Application.StartupPath + @"\\PersonsList.xlsx",
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing);
exSheets = exAppWB.Worksheets;
exWS = (Excel.Worksheet)exSheets.get_Item(1);
double sStr2;
double sStr3;
for (int i = 1; i<2; i++)
{
exCells = exWS.get_Range("A" + (i).ToString(), Type.Missing);
sStr2 = exCells.Value2;
if (sStr2 != null)
{
exCells = exWS.get_Range("A" + (i + 1).ToString(), Type.Missing);
exCells.Value2 = 1000;
}
else
{
exCells.Value2 = 10;
}
}
//Сохраняем результат
exAppWBs = exApp.Workbooks;
exAppWB = exAppWBs[1];
exAppWB.SaveAs(Application.StartupPath + @"\PersonsList.xlsx",
Excel.XlFileFormat.xlExcel7, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing,
Type.Missing, Type.Missing);
exApp.Quit();
} |
|
0
|