c# - C # Excel Data Can I overwrite an existing file? -
can open excel file, display in datagridview, , overwrite data in datagridview when save open excel file?
i found way create , save new files , new sheets.
but way want not create new files , new sheets.
how can overwrite existing excel?
english not mother tongue, not good.
i have tried below code.
{ savefiledialog sfd2 = new savefiledialog(); sfd2.title = "save excel file"; sfd2.filter = "excel files(2003)|*.xls|excel files(2007)|*.xlsx"; sfd2.filename = ""; if (sfd2.showdialog() == dialogresult.ok) { try { // excel프로그램을 실행 excelapp = new excel.application(); // 실행된 excel프로그램에 통합문서를 추가 wb = excelapp.workbooks.add(); //텍스트 형식 지정범위 excel._worksheet worksheet = wb.worksheets.get_item(1) excel._worksheet; excel.range orange; orange = worksheet.get_range("a1:a300", "s1:s300"); orange.cells.numberformat = "@"; orange.entirerow.autofit(); orange.entirecolumn.autofit(); orange.wraptext = false; //데이터 동시저장 map_datagridview_to_excelsheet(datagridview1, "sheet1"); excelapp.worksheets.add(); map_datagridview_to_excelsheet(datagridview2, "sheet2"); excelapp.worksheets.add(); map_datagridview_to_excelsheet(datagridview3, "sheet3"); //view4에 데이터가 있을때만 4번째 시트를 생성 if (datagridview4.datasource != null) { excelapp.worksheets.add(); map_datagridview_to_excelsheet(datagridview4, "sheet4"); } //excelapp.worksheets.add(); //map_datagridview_to_excelsheet(datagridview5, "sheet5"); ws.columns.autofit(); // 여기서 저장경로를 변경하면 됩니다. wb.saveas(sfd2.filename, excel.xlfileformat.xlworkbooknormal, type.missing, type.missing, type.missing, type.missing, microsoft.office.interop.excel.xlsaveasaccessmode.xlexclusive, type.missing, type.missing, type.missing, type.missing, type.missing); wb.close(true); excelapp.quit(); messagebox.show("저장이 완료되었습니다."); } //메모리해제 { releaseobject(ws); releaseobject(wb); releaseobject(excelapp); } } } private void map_datagridview_to_excelsheet(datagridview datagridview, string sheetname) { // 지정된 문자열에 해당하는 sheet를 가져옵니다. ws = wb.worksheets.get_item(sheetname) excel.worksheet; if(datagridview.datasource != null) { (int = 0; < datagridview.columncount; i++) { label5.text = i.tostring(); (int j = 0; j < datagridview.rowcount; j++) { label6.text = j.tostring(); // 워크시트 개체 ws의 cells(range 개체)와 datagridview의 인덱스가 반대인것에 유의 // 또한, cells는 인덱스가 1부터 시작 // ws.cells[row, column] // datagridview[column, row] if (datagridview[i, j].value.tostring().trim() != "") { ws.cells[j + 1, + 1] = datagridview[i, j].value.tostring(); } } }
yes can, people on aren't code writing service don't respond requests this. try looking @ tutorials epplus, used , liked library reading , writing excel files. can search epplus , see questions people have asked it, maybe enough snippets. if reach point you've done work, , example can read excel dataset have no idea how show dataset's tables in datagridview, feel free post question (or search has been asked before) "how can show datatable in datagridview" - that's kind of question designed answer
as guide future, questions have long answer more you'd read in blog, rather answer can written in 5 lines, should not asked on stackoverflow
Comments
Post a Comment