В настоящее время у меня есть две таблицы данных, которые экспортируются в 2 отдельных листа. Как экспортировать эти 2 таблицы данных в один рабочий лист? Кто угодно? Мне было трудно решить эту загадку.экспорт 2 вида сетки в один рабочий лист в Excel
private DataTable SkyvisionMachineData()
{
string constr = ConfigurationManager.ConnectionStrings["Media_OperationsConnectionString9"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand("SELECT DISTINCT CorporateName, Region FROM MACHINE"))
{
using (SqlDataAdapter da = new SqlDataAdapter())
{
DataTable dt = new DataTable();
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
da.SelectCommand = cmd;
da.Fill(dt);
dt.TableName = "Region";
return dt;
}
}
}
}
private DataTable SkyvisionZoneData()
{
string constr = ConfigurationManager.ConnectionStrings["Media_OperationsConnectionString9"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand("SELECT DISTINCT CorporateName, Spare, Region FROM dbo.Machine WHERE CorporateName LIKE @CorporateName OR Region like @Region"))
{
using (SqlDataAdapter da = new SqlDataAdapter())
{
Label1.Text = TextBox1.Text;
DataTable dt = new DataTable();
cmd.CommandType = CommandType.Text;
cmd.Parameters.Add("@CorporateName", SqlDbType.VarChar, 50).Value = Label1.Text;
cmd.Parameters.Add("@Region", SqlDbType.VarChar, 20).Value = Label1.Text;
cmd.Connection = con;
da.SelectCommand = cmd;
da.Fill(dt);
dt.TableName = "Machine";
return dt;
}
}
}
}
public DataSet getDataSetExportToExcel()
{
DataSet ds = new DataSet();
DataTable Machine = new DataTable("Machine Data");
Machine = SkyvisionMachineData();
DataTable Region = new DataTable("Skyvision Zone Data");
Region = SkyvisionZoneData();
ds.Tables.Add(Machine);
ds.Tables.Add(Region);
return ds;
}
protected void ExportToExcel_Click(object sender, EventArgs e)
{
DataSet ds = getDataSetExportToExcel();
using (XLWorkbook wb = new XLWorkbook())
{
wb.Worksheets.Add(ds);
wb.Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
wb.Style.Font.Bold = true;
Response.Clear();
Response.Buffer = true;
Response.Charset = "";
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("content-disposition", "attachment;filename= DBSearchReport.xlsx
");
using (MemoryStream MyMemoryStream = new MemoryStream())
{
wb.SaveAs(MyMemoryStream);
MyMemoryStream.WriteTo(Response.OutputStream);
Response.Flush();
Response.End();
}
}
}
Вы знакомы с тем, как слить с помощью DataTable ..? есть много примеров того, как это сделать онлайн – MethodMan
К сожалению, нет. Я был бы очень признателен, если бы вы могли показать мне, как это делается в моем сценарии. –
Я только что сказал вам, что вам следует делать. Простой поиск в Google о том, как объединить данные, в чем проблема, если вы не хотите это делать, а затем Google, как построить инструкцию UNION, и я бы предложил вам преобразовать sql в a Хранимая процедура также – MethodMan