Хорошо, я пытаюсь понять это, извините, если я что-то неправильно понял, но вы теряете ссылки на что-то, когда устройство вращается.
Принимая удар ...
добавит ли
android:configChanges="orientation|keyboardHidden|screenSize"
в манифест для этой операции исправление вашей ошибки? или помешать onLoadFinished()
сказать, что деятельность остановлена?
Я отвечаю немного поздно извините. Я работал над своим проектом, и мы должны были использовать interop Excel. И наши данные были слишком большими, который занимал больше чем 1 минуту с interop Excel. Мы попробовали что-то еще, что является копией все содержание datagridview к буферу обмена, откройте рабочий лист Excel с помощью interop Excel и вставьте содержание для выделений. Это занимает меньше чем 1 секунду и экспортирует наши данные отлично.
DataGridView для строкового представления:
var newline = System.Environment.NewLine;
var tab = "\t";
var clipboard_string = "";
foreach (DataGridViewRow row in dgProjeler.Rows)
{
for (int i = 0; i < row.Cells.Count; i++)
{
if (i == (row.Cells.Count - 1))
clipboard_string += row.Cells[i].Value + newline;
else
clipboard_string += row.Cells[i].Value + tab;
}
}
и копия строка к буферу обмена
Clipboard.SetText(clipboard_string);
И открытый рабочий лист, вставьте содержание.
Excel.Application app = new Excel.Application();
app.Visible = true;
Excel.Workbook wb = app.Workbooks.Add(1);
Excel.Worksheet ws = (Excel.Worksheet)wb.Worksheets[1];
// changing the name of active sheet
ws.Name = "Exported from gridview";
ws.Rows.HorizontalAlignment = HorizontalAlignment.Center;
app.ActiveWindow.Activate();
ws.Activate();
ws.Paste();
ws.Cells.EntireColumn.AutoFit();
Это работает отлично надо мной, я надеюсь, что это помогает людям, которые все еще не могли найти решение.