问题描述
以下代码从数据库中获取数据,创建一个 Excel 文件并将其与执行该文件的用户的凭据一起保存。 保存到 C:\ 时它没有问题,因为它使用 Windows 凭据,但是当尝试将它保存到 Sharepoint 服务器时,我收到“拒绝访问”错误。我相信这是因为用户和密码没有正确识别。
使用 EPPlus,有没有办法在保存之前指定执行它的用户? 或者有关保存到共享点服务器并避免此类身份验证问题的任何提示?
private static void ExportToExcel1()
{
DataTable dt = new DataTable();
string connectionString = "Data Source=*.*.*.*;Initial Catalog=**;User Id=**;Password=**";
using (sqlConnection con = new sqlConnection(connectionString))
{
string query = "SELECT *** from ***";
using (sqlCommand cmd = new sqlCommand(query))
{
using (sqlDataAdapter sda = new sqlDataAdapter())
{
cmd.Connection = con;
sda.SelectCommand = cmd;
sda.Fill(dt);
}
}
}
FileInfo newFile = new FileInfo("Import_.xlsx");
if (newFile.Exists) { newFile.Delete(); }
if (dt.Rows.Count > 0)
{
using (ExcelPackage pck = new ExcelPackage(newFile))
{
ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Import_");
ws.Cells["A1"].LoadFromDataTable(dt,true);
ws.Cells.AutoFitColumns();
ws.Cells.Style.Numberformat.Format = "@";
ws.Cells["E1:E500"].Style.Numberformat.Format = "dd.mm.yyyy";
ws.Cells["I1:I500"].Style.Numberformat.Format = "dd.mm.yyyy";
ws.Column(8).Width = 75;
ws.Cells["A1:Z1"].Style.Font.Bold = true;
var file = new FileInfo(Path.Combine(@"//eu.company.com/DEP/INVOICE/SUPPLY","Import_" + DateTime.Now.AddDays(-1).Date.ToString("ddMMyyyy") + ".xlsx"));
pck.SaveAs(file);
}
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)