xuất file định dạng CSV

Liên hệ QC

phan van tai

Thành viên chính thức
Tham gia
22/4/20
Bài viết
83
Được thích
20
Donate (Momo)
Donate
Giới tính
Nam
Nghề nghiệp
VP
thân chào mọi người

nhờ mọi người giúp mình, việc là mình muốn xuất dữ liệu từ file excel ra thành file CSV

mình muốn khi mở file CSV kết quả như hình đính kèm

mình làm mọi cách mà vẫn không được
 

File đính kèm

  • SCV.jpg
    SCV.jpg
    164.4 KB · Đọc: 51
thân chào mọi người

nhờ mọi người giúp mình, việc là mình muốn xuất dữ liệu từ file excel ra thành file CSV

mình muốn khi mở file CSV kết quả như hình đính kèm

mình làm mọi cách mà vẫn không được
File / Save as ... chọn định dạng File là CSV
 
File / Save as ... chọn định dạng File là CSV
save as như excel bình thường thì dễ rồi, nhưng có cái khi mở bằng notepad thì ko giống định dạng mình mong muốn

chủ đích mình xuất file CSV để load file vào hệ thống IDOS, mà IDOS thì nó lại chỉ nhận file CSV theo định dạng như hình mình gửi
 
Ý của tigertiger là thế này này...
 

File đính kèm

  • Capture1.PNG
    Capture1.PNG
    47.6 KB · Đọc: 29
csv mặc định phân cách các cột là dấu ,. File của bạn lại dùng ; nên phải code kiểu khác, không dùng được kiểu saveas được.
 
....mà IDOS thì nó lại chỉ nhận file CSV theo định dạng như hình mình gửi
... Hình #1 là dấu ; mà ...

Mở bằng notepad
Select all
Edit / Find what ; replace with ,
replace all / Save
 

File đính kèm

  • Capture2.PNG
    Capture2.PNG
    50.9 KB · Đọc: 11
Lần chỉnh sửa cuối:
....mà IDOS thì nó lại chỉ nhận file CSV theo định dạng như hình mình gửi
... Hình #1 là dấu ; mà ...

Mở bằng notepad
Select all
Edit / Find what ; replace with ,
replace all / S

....mà IDOS thì nó lại chỉ nhận file CSV theo định dạng như hình mình gửi
... Hình #1 là dấu ; mà ...

Mở bằng notepad
Select all
Edit / Find what ; replace with ,
replace all / Save
làm đc như thế thì hỏi làm gì nữa, làm bằng tay thì chắc chắc là đc rồi
mình làm file VBA xuất file tự động, và sẽ load dữ liệu tự động, vì muốn giảm thời gian thao tác đo và nhập bằng tay

=> chỉ còn mỗi việc xuất file ko như định dạng mong muốn. Haizz
 
Thấy cái code này trên internet.
Bạn lấy về chỉnh sửa chút là xong

 
mình đã thử hết các save as trong excel rồi, nhưng ko ra định dạng như mong muốn

khi mở bàng notepad cột nằm trong ngặc kép "", phân cách bằng chấm phẩy ;
Nếu nói về ngoặc kép thì trên máy tôi khi save as CSV thì không có ngoặc kép. Tôi không biết có thể thiết lập để có ngoặc được không. Nhắc lại: tôi nói về THIẾT LẬP - có hoặc không, tôi không biết.

Còn việc dấu chấm phẩy thì bạn thử như sau:

Nhấn nút Additional setting -> trong trường separator list nhập dấu chấm phẩy ; -> OK -> OK

cp.png

Lưu thành CSV

Mã:
ActiveSheet.SaveAs Filename:=ThisWorkbook.Path & "\Ngay mai em di.csv", _
        FileFormat:=xlCSV, CreateBackup:=False, Local:=True

Mục đích dùng Local = True là để lấy thiết lập trong Control Panel như ở trên.
 
cột nằm trong ngặc kép ""

Cái dấu đó tiếng Việt gọi là dấu NHÁY kép.
Chứ không phải ngặc kép nào cả. Sao lại nhầm buồn cười thế.
Gõ tìm từ khoá "ngặc kép" để tìm bài giải thì bao giờ mới ra cái cần.
Mà cái IDOS nhận dòng tiêu đề, tên các trường/ cột nằm trong hai dấu nháy kép, phần dữ liệu giữa các trường/ cột phân cách bởi dấu chấm phẩy.
Cái này code lèo cái xong, bạn chỉ cần úp file Excel dữ liệu, một file csv kết quả cần lên là có người cắm đầu, chổng chân lên làm cho bạn thôi.
Hí hí.
 
File / Save as ... chọn định dạng File là CSV
Ý của tigertiger là thế này này...
....mà IDOS thì nó lại chỉ nhận file CSV theo định dạng như hình mình gửi
... Hình #1 là dấu ; mà ...

Mở bằng notepad
Select all
Edit / Find what ; replace with ,
replace all / Save
csv mặc định phân cách các cột là dấu ,. File của bạn lại dùng ; nên phải code kiểu khác, không dùng được kiểu saveas được.
IDOS là phần mềm chuyên tự động hóa dữ liệu tài chính kế toán.
Là phần mềm tầm cỡ quốc tế, nó thừa biết phân bệt dấu phẩy và dấu chấm phẩy.
Ở đây thớt không coi biết nó được mặc định chạy theo tiêu chuẩn Mẽo/Anh hay Âu Đại Lục (dấu phẩy la dấu thập phân hay hằng nghìn). Cho nên chỉ có thể đoán mò tại sao nó lại đòi phải dùng chấm phẩy. Rất có thể do nó mặc định dùng tiêu chuẩn Âu Đại Lục (Continental - người Anh gọi bên kia eo biển là vậy).

Nếu vào Advanced Optioons để chỉnh cho Excel mặc định dấu phẩy là thập phân thì Excel sẽ tự động xuấ file CSV theo kiểu dùng dấu chấm phẩy. Tuy nhiên cách này sẽ xảy ra hai điều:
1. file CSV do Excel tạo ra sẽ thiếu dòng tư kiệu (tư, không phải gõ nhầm) ở đầu cho biết separator là gì. Vì vậy file này không hẳn chuẩn 100%
2. các số liệu có hàng thâp phân sẽ xuất ra với dấu phẩy. Trong file thớt có số liệu với trị hàng thập phân.

Vì vậy, nếu cái IDOS kia mặc định Âu thì chỉ cần set Advanced Options cho Excel. Nếu kiểu Mẽo thì trợt lớt.

Chú thích: ý của thớt là muốn tự động. Việc chỉnh sửa Options nằm ngoài công việc "bấm một phát", tiếu chuẩn đòi hỏi code trên GPE.
Muốn thực thi đúng tiêu chuẩn GPE thì trước mắt tôi chỉ nghĩ ra một cách bằng VBA:
- xuât ra file CSV
- Kế đó code có hai chọn lựa để sửa tất cả các dấu phẩy thành chấm phẩy:
1. mở file theo dạng txt, chỉnh sửa
2. gọi một shell command để chỉnh sửa.
Lưu ý là code hay command gì đó thì đều phải tính được trường hợp dữ kiệu có chứa dấu phẩy.

Cái dấu đó tiếng Việt gọi là dấu NHÁY kép.
Chứ không phải ngặc kép nào cả. Sao lại nhầm buồn cười thế.
Gõ tìm từ khoá "ngặc kép" để tìm bài giải thì bao giờ mới ra cái cần.
...
Sao bạn biết người ta nhầm? Biết đâu người ta dùng từ nói lái.
Lại gợi nỗi đau. Bản thân mình mà sử dụng từ này là công an diễn đàn khóa mõm, đưa đi Côn dảo 1 tháng ngay.
 
Sao bạn biết người ta nhầm? Biết đâu người ta dùng từ nói lái.

Em nói giảm nói tránh đó ạ. Lời nói giờ phải lựa nhẹ nhàng như nịnh con nít như vậy ạ.
Nói thẳng, nói thật người ta xí hổ chứ anh.
Nói nhẹ vậy để bạn í vui vẻ và sửa cho chuẩn.

Kế đó code có hai chọn lựa để sửa tất cả các dấu phẩy thành chấm phẩy

Chỗ này cần thớt xác nhận dữ liệu không có dấu phẩy đã anh.
Nhỡ đâu có cột nào đó nữa mà trong đó có dấu phẩy.
Nếu có thì cần chuyển dấu phẩy trước đã.
 
...Chỗ này cần thớt xác nhận dữ liệu không có dấu phẩy đã anh.
Nhỡ đâu có cột nào đó nữa mà trong đó có dấu phẩy.
Nếu có thì cần chuyển dấu phẩy trước đã.
Thì tôi đã nói cần biết tại sao cái IDOS kia nó đòi hỏi vậy.

Lắm khi chỉ vì ký do giản dị nào đó mà phải lắm công sức chìu chuộng nó.
Nguyên tắc làm việc với giao diện: nếu vì ký do giao diện khó khăn thì chìu chuộng là giỏi, là khéo; nhưng nếu từ chuyện bé đến chuyện to mà cũng chìu chuộng thì là ngu.
Tôi làm việc thoe kiểu tôi làm chủ môi trường và tình hình chứ không chỉ làm chủ code VBA.

Gộp thêm IS (Information Systems) vào cho IDOS:
Tự mình chọn bên nào là IDIOTS.
 
Cái dấu đó tiếng Việt gọi là dấu NHÁY kép.
Nếu nói về dấu thì nháy kép cũng đúng mà ngoặc kép cũng không sai. Em còn nhớ lúc đi học tiểu học được dạy là dấu ngoặc kép, sau này mới thấy gọi nháy kép nhiều nên cũng quen. Chứ trong sách vở theo em nhớ không nhầm thì cô thầy dạy là ngoặc kép

1662992658485.png
 
Nếu nói về dấu thì nháy kép cũng đúng mà ngoặc kép cũng không sai. Em còn nhớ lúc đi học tiểu học được dạy là dấu ngoặc kép, sau này mới thấy gọi nháy kép nhiều nên cũng quen. Chứ trong sách vở theo em nhớ không nhầm thì cô thầy dạy là ngoặc kép
...
1. ngoặc kép là tiếng xưa, dùng nhiều ở miền Nam hơn. Lý do chính do ngày xưa nó là dấu ngoặc thật, hai đầu theo chiều "ngoặc" đối nhau, hoặc chỉ cùng "ngoặc" về nên trái. Mấy phông chữ mới về sau này có nhiều cái đơn giản hóa, dùng dạng "đứng" cho cả hai. Cho nên đổi lại dùng từ "nháy" thì dễ thống nhất hơn.

2. Cái phần bạn chụp lại của Wiki nó nói theo tiêu chuẩn Mẽo. Chưa chắc hoàn toàn áp dụng cho tiêu chuẩn Anh.
Rất tiếc là nhà nước Việt Nam rất mù mờ ở chỗ này: miệng thì khẳng định theo tiêu chuẩn Anh (Oxford) nhưng thực tế thì dùng rất nhiều từ ngữ, cách hành văn theo kiểu Mẽo. Mà chính Mẽo còn xác định mình theo từ điển Meriam-Webster, chứ mấy cha nội VN dùng quá nhiều từ điển, chả xác định nổi là theo cái nào.
 
Bạn có biết wikipedia là cái gì không mà dẫn chứng? Bạn cần kiểm tra xem tác giả bài viết đó có bị "ngọng" không đã.
Em chỉ muốn nêu quan điểm về cái gì hợp lý thôi. Còn không tham gia mấy chuyện ngoài luồng. Nếu anh nói "ngoặc kép" là sai thì em cho như thế là không phải, tiếng Việt xưa giờ từ đó không sai đâu anh. Wiki chỉ là một dẫn chứng nhỏ thôi. Còn nếu giờ anh bảo so với từ "ngặc kép" thì thôi vậy!
 
Em chỉ muốn nêu quan điểm về cái gì hợp lý thôi. Còn không tham gia mấy chuyện ngoài luồng. Nếu anh nói "ngoặc kép" là sai thì em cho như thế là không phải, tiếng Việt xưa giờ từ đó không sai đâu anh. Wiki chỉ là một dẫn chứng nhỏ thôi. Còn nếu giờ anh bảo so với từ "ngặc kép" thì thôi vậy!
Bài trên tôi có nói từ này được dùng nhiều trong Nam ngày xưa. Có lẽ người Bắc không biết chuyện ấy.
Và cái người dịch bảng Wiki này có lẽ cũng không biết cái điểm tôi nói cho nên không nêu ra.
Nói về từ điển thì những người soạn từ điển VN chủ quan lắm. Cái gì họ cho là sai thì họ không chịu thêm cái phần "ở miền Nam ngày xưa người ta..."

Người Mẽo người ta còn chấp nhận sự dùng nhiều ở địa phương, họ chấp nhận cả một đống từ ngữ và ngữ pháp tiếng Mẽo đen.
Nhiều nhà ngôn ngữ học nhìn về tập quán, ngôn ngữ miền Nam khá hẹp hòi. Cái gì họ không thích thì cứ xua qua: "sai". Tôi là nạn nhơn chính thức của vụ này, và đã trải mấy chục năm ôm hận.

Người Mẽo cũng có chiến tranh Nam-Bắc.
Nhưng thôi, không nên đào sâu nữa. Chỉ thêm ném nhau sức đầu mẻ trán, hai bên chả lợi gì.
 
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom