это на самом деле C # .Net.У меня есть база данных, прикладной уровень для запроса и интерфейс с лентой.Внутри ленты у меня есть кнопка для генерации сводки по файлу, которая будет включать основные моменты, помещая каждый проект в отдельную вкладку в одном Excel.У меня есть большая часть написанного кода, в том числе редактор электронных таблиц в Open XML, мне просто нужна помощь, когда я нажимаю кнопку создания сводки, она отправляет запрос на прикладной уровень для данных и форматирует его в excel.
Я попытался его инициализировать.У меня есть класс DataAccess, который запрашивает таблицу в зависимости от того, какой номер ID введен, но мне нужно каким-то образом запросить или получить эту таблицу после ввода идентификатора и нажатия кнопки GenerateSummary.
private void btnGenerateSummary_Click(object sender, RibbonControlEventArgs e)
{
using (ExcelWriter.CreateExcelWorkbook)
{
GenerationInfo input = new GenerationInfo();
DataAccess DataAccess = new DataAccess();
string sapID;
sapID = SapIdBox.Text;
DataAccess.GetCns41DataBySapId(sapID);
List<Cns41Information> PMList = new List<Cns41Information>();
PMList = DataAccess.GetCns41DataBySapId(sapID);
WEC.Core.OpenXmlDoc.ExcelWriter spreadsheetwriter = new WEC.Core.OpenXmlDoc.ExcelWriter();
object missingvalue = System.Reflection.Missing.Value;
input.reportQuery = lbReportTypes.SelectedItem.ToString();
string outputPath;
bool useExcel2003Format;
useExcel2003Format = true;
outputPath = string.Format(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\file.xlsx");
WEC.Core.OpenXmlDoc.ExcelWriter.CreateExcelWorkbook(dt, outputPath, useExcel2003Format);
}
System.Data.DataTable dt = new System.Data.DataTable();
dt.Columns.Add("My_test_col1", typeof(string));
dt.Columns.Add("My_test_col2", typeof(string));
and in my DataAccess class
public List<cns41information> GetCns41DataBySapId(string sapId)
{
List<cns41information> items = new List<cns41information>();
DataTable dt = null;
try
{
using (PWD_TAB_Entities model = new PWD_TAB_Entities())
{
//Query Needs updated based on sapId
decimal sapIdConversion = Convert.ToDecimal(sapId);
// List of Projects registered under Sap Id
List<string> projects = GetProjectList(sapIdConversion);
var values =
model.PROMOT_CNS41_VW_RO
.Where(r => projects.Contains(r.NEW_PROJECT_KEY));
foreach (var item in values)
{
//AutoMapper
items.Add(
DataMapper.GetMapper().GetMappedDto<cns41information>(item));
}
dt = CreateDataTable(model.PROMOT_CNS41_VW_RO, values);
}
}
catch (Exception ex)
{
string message = ex.Message;
}
return items;
}
Iхочу иметь возможность открыть таблицу проектов, связанных с идентификатором, в формате Excel, но я не знаю, как поместить ее в кнопку создания сводки.У меня отдельно есть поле для редактирования, где каждый вводит свой идентификатор и подключается к прикладному уровню, прикладной уровень должен запросить БД и затем отправить информацию обратно во внешний интерфейс, но я не знаю, как это получить и вывести ее в Excel.