На самом деле не может быть сделано. Файлы Excel не отображаются изначально в браузере. В этом контексте iframes похожи на обычные страницы. Сначала вам нужно решить проблему с отображением файлов Excel в браузере.
Самое близкое, что вы можете получить - это иметь программу, которая читает файл Excel, а затем генерирует HTML на основе его содержимого.
Adobe ColdFusion может сделать это изначально; для других языков и платформ могут потребоваться сторонние библиотеки.
Какой таймер вы используете?
System.Windows.Forms.Timer
будет выполняться в поток пользовательского интерфейса System.Timers.Timer
выполняется в потоке пула потоков, если вы не укажете SynchronizingObject
System.Threading.Timer
выполняет свой обратный вызов в потоке пула потоков Во всех случаях сам таймер будет асинхронным - он не будет «занимать» поток, пока не сработает.
Таймер будет эффективно работать в фоновом режиме и вызывать события в вашем основном потоке.
Я не уверен, как реализованы таймеры в .NET, но если они используют API Windows для создания таймера, цикл сообщений формы получает сообщение WM_TIMER
и только тогда, когда поток формы не занято, может ли он обработать этот запрос, чтобы таймер сработал в нужное время, но вы могли остановить поток пользовательского интерфейса. Таймер будет запущен с помощью SetTimer
API, и ОС обязательно отправит сообщение WM_TIMER
.
Я проверил, только System.Windows.Forms.Timer + TimerNativeWindow.StartTimer (Int32)
зависит от:
[DllImport("user32.dll", CharSet=CharSet.Auto, ExactSpelling=true)]
public static extern IntPtr SetTimer(HandleRef hWnd, int nIDEvent, int uElapse, IntPtr lpTimerFunc);
Так что только у этого таймера есть описанная «проблема».