是的,可以通过C# WinForm程序将表单输入写入SharePoint上的同一Excel文件。下面是一个示例代码:
using Microsoft.SharePoint.Client;
using Microsoft.SharePoint.Client.Utilities;
using System;
using System.IO;
using System.Windows.Forms;
namespace SharePointExcelWriter
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnSubmit_Click(object sender, EventArgs e)
{
// SharePoint网站URL
string siteUrl = "https://your-sharepoint-site-url";
// SharePoint文档库名称
string libraryName = "Documents";
// Excel文件名称
string excelFileName = "Test.xlsx";
// 表单输入数据
string formData = txtFormData.Text;
try
{
// 使用ClientContext连接到SharePoint网站
using (ClientContext context = new ClientContext(siteUrl))
{
// 获取文档库
List documentsLibrary = context.Web.Lists.GetByTitle(libraryName);
context.Load(documentsLibrary);
context.ExecuteQuery();
// 上传Excel文件到文档库
FileCreationInformation fileCreateInfo = new FileCreationInformation();
fileCreateInfo.Url = excelFileName;
fileCreateInfo.Content = System.Text.Encoding.UTF8.GetBytes(formData);
fileCreateInfo.Overwrite = true;
Microsoft.SharePoint.Client.File newFile = documentsLibrary.RootFolder.Files.Add(fileCreateInfo);
context.Load(newFile);
context.ExecuteQuery();
MessageBox.Show("表单数据已成功写入Excel文件。");
}
}
catch (Exception ex)
{
MessageBox.Show("发生错误:" + ex.Message);
}
}
}
}
以上代码使用了Microsoft.SharePoint.Client库来连接到SharePoint网站,并将文本数据作为Excel文件上传到指定的文档库中。你需要将代码中的siteUrl
、libraryName
和excelFileName
替换为你自己的SharePoint网站URL、文档库名称和Excel文件名称。