Yo nunca haría un DROP y un CREATE de una base de datos... es un proceso muy costoso para el motor de base de datos.
Lo que haría sería crear la base de datos, antes de nada, y luego, dentro del programa, en las tareas diarias, actualizar sus contenidos.
El error que te sale es, justamente, porque la base de datos no existe. Para capturar el error puedes usar
eval(). Pero ya digo que esto no sería necesario si consideramos que la base de datos siempre a de estar presente.
Ahora bien... dices que el usuario está usando una hoja Excel... ¿por qué no usas la propia hoja Excel como base de datos? Puedes abrirla, leer las celdas... Te ahorras todo el proceso de transformarlo a base de datos. En cuanto el usuario actualice la hoja, y la suba al servidor, los cambios son instantáneos.
Yo suelo mucho esta solución, hoy en día, ya que a muchos usuarios les resulta muy sencillo el uso de la hoja, en lugar de lidiar con un formulario de base de datos.