У меня возникла небольшая проблема, я могу экспортировать данные из базы данных на лист Excel, но перед сохранением вновь созданного листа Excel я хочу добавить формулу суммирования в указанные столбцы, и я знаю, как сделать это со старым файлом Excel, который уже был создан, но не знаю, как это сделать с новым файлом, который создается в процессе экспорта. Пожалуйста, дайте мне советы о том, как я могу выполнить мою задачу желаний.
С наилучшими пожеланиями.
Это то, что я сделал до сих пор.
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Excel = Microsoft.Office.Interop.Excel;
namespace ExportToExcel
{
class Program
{
static void Main(string[] args)
{
Program obj = new Program();
obj.ExportToExcelMethod();
}
public void ExportToExcelMethod()
{
try
{
SqlConnection conn;
string connStr = null;
string query = null;
string data = null;
int i = 0;
int j = 0;
Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
object misValue = System.Reflection.Missing.Value;
xlApp = new Excel.Application();
xlWorkBook = xlApp.Workbooks.Add(misValue);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
connStr = @"Data Source=GP_DEV\BCDEMO;Initial Catalog=TestDB;Integrated Security=True";
conn = new SqlConnection(connStr);
query = "spGetEmployees";
SqlDataAdapter adpt = new SqlDataAdapter(query, conn);
DataSet ds = new DataSet();
try
{
conn.Open();
}
catch (Exception)
{
Console.WriteLine("Database connection unsuccessful.");
System.Environment.Exit(0);
}
adpt.Fill(ds);
for (i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
{
for (j = 0; j <= ds.Tables[0].Columns.Count - 1; j++)
{
data = ds.Tables[0].Rows[i].ItemArray[j].ToString();
xlWorkSheet.Cells[i + 1, j + 1] = data;
}
}
xlWorkBook.SaveAs(@"D:\khubaib\2-4-20\ExportToExcelFile_" + DateTime.Now.ToString("MMddyyyy_HHmmsss") + ".xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
xlWorkBook.Close(true, misValue, misValue);
xlApp.Quit();
}
catch (Exception)
{
Console.WriteLine("Data export unsuccessful.");
System.Environment.Exit(0);
}
}
}
}
и вот как я использовал формулу суммирования.
try
{
var app = new Excel.Application();
var workbook = app.Workbooks.Open(template);
var sheet = workbook.Worksheets[1];
sheet.Cell("C6").Formula = "SUM(C2:C4)";
workbook.Save();
}
catch (Exception)
{
Console.WriteLine("Unable to add the columns.");
System.Environment.Exit(0);
}