SheetCopilot: Bringing Software Productivity to the Next Level through Large Language Models